ocuraliz
Usuario Novato
Usuario Novato

tengo una duda y es sobre como identificar un query mal y otro bien.

por ejemplo:

-- creo mi tabla "dbo.data"

CREATE table dbo.data
(
ID int not null identity(1,1),
Placeholder char (100) not null
constraint DEF_Data_Placeholder
default 'this is Placeholder',
ADate datetime not null

constraint PK_Data
primary key clustered(ID)
)
go

--luego creo  un index, sobre la tbla dbo.data, para la columna ADate

create nonclustered index IDX_Data_ADate
on dbo.data(ADate)
go

;with CTE(Num)
as
(
select 1
union all
select Num +1
from CTE
where Num <=100000
)
insert into dbo.data (ADate)
select DATEADD(DAY,-Num % 365, GETDATE())
from CTE
option (MAXRECURSION 0)

SELECT * FROM dbo.data
go

ahora aca viene lo curioso, aparte del "set statistics io on"

para identificar un query mal o bueno. es decir cuantas lecturas logicas me bota, los 2 query.

--demostracion de como indentificar un query mal escrito o bien escrito
set statistics io on
go

---query 1
select *
from dbo.data
where DATEADD (DAY,1,ADate ) > GETDATE ()
GO
---query 2
select *
from dbo.data
where ADate > dateadd (DAY,-1,getdate() )
go

una ves haigamos ejecutado el "statistics" ejecutamos los 2 query.

luego nos aparece en mensajes, la lectura logica :

primer query :1299

segundo query:841

a mi parecer el segundo esta bien, y el primero esta mal.

ahora a aparte del set "statistics io on" and "set statistics io off"

hay otra forma de averiguar un query si esta mal, o mejor dicho de comparar, como yo lo hice.

gracias de antemano. :3

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 05/Jun/2009, 17:36
joanpla02kJun/09
Por: , el 11/Dic/2006, 07:40
cjmaic chavp115kDec/06
Por: , el 10/Ene/2005, 15:58
Versilov besal10119kJan/05
Por: , el 05/Dic/2004, 18:14
Versilov02kDec/04
Por: , el 02/Jun/2004, 03:47
LoCKE-CoLE02kJun/04