SQL Server - Campo comportamiento raro

 
Vista:
Imágen de perfil de Juan Diego
Val: 16
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Campo comportamiento raro

Publicado por Juan Diego (8 intervenciones) el 16/04/2018 17:31:44
Hola a todos,

Tengo dos tablas, un encabezado y un detalle de ventas, resulta que por cierta necesidad ambas tablas tienen un campo llamado FechaDDocumento, los cuales son de tipo date, No Null.

Durante varios días estuve rompiéndome la cabeza con un query, el cual su tiempo de respuesta estaba por encima del minuto y medio. Un simple query que relaciona las tablas encabezado, detalle y vendedores , filtrados por los últimos 10 días de venta por el campo de fecha de encabezado, pero definitivamente el costo de la consulta era altísimo.

De tanto mover la consulta, opté por utilizar el campo de fecha de la tabla detalle y ¡Wualá! se demoró 1 Seg pero es un misterio para mí ese comportamiento en el campo de la tabla principal.

Si a alguien se le ocurre cual podría ser el motivo, lo agradecería mucho.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Campo comportamiento raro

Publicado por JAMS (93 intervenciones) el 17/04/2018 16:17:34
Buenos días son tener mayor detalle de las estructuras de las tablas que usas, lo que comentas es clásico que suceda cuando las tablas involucradas no tienen indices que ayuden al motor de la base de datos a definir el plan de ejecución mas optimo, te sugiero revisar los indices de ambas tablas y validar que tu tabla detalle tenga un indice por el campo por el cual haces la búsqueda que supongo existe allí ese indice, por otro lado la tabla de encabezado debo suponer que no cuenta con un indice por el campo de fecha por el cual haces tu consulta, una vez que verifiques que el supuesto que te comento es así, entonces genera el indice correspondiente en la tabla y es entonces que podrías regresar a tu query original y obtener el mismo rendimiento



ojala que te sirva lo que comento

Saludos y suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Juan Diego
Val: 16
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Campo comportamiento raro

Publicado por Juan Diego (8 intervenciones) el 19/04/2018 15:44:28
Gracias JAMS!

Efectivamente, mi tabla maestra y curiosamente ni mi tabla detalle, tenían agregados los índices a los campos por los cuales estaba filtrando.

Actualmente estoy adaptando una base de datos diseñada para una empresa para que soporte múltiples empresas, razón por la cual, de la base de datos original estaba obteniendo los scripts y modificándolos para no tener que hacer todo desde cero y por alguna razón no se ejecutó la parte de la creación de los índices tal como está en la base de datos original, tal vez un descuido mío y no vi algún error que haya arrojado SQL Server.

Igualmente me parece curioso que con la tabla detalle si pudiera generar la consulta y en 1 segundo, sin esta tampoco tener los índices.

Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 2.534
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Campo comportamiento raro

Publicado por Isaias (4202 intervenciones) el 17/04/2018 16:42:10
¿Motivo?, Puede haber muchos

Es muy extraño, como lo comentas, que en el DETALLE tengas un campo fecha, que seguro se REPITE por cada registro.

¿INDICES?, ¿Hay en el encabezado por el campo fecha?

JAMS tiene mucha razon
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Juan Diego
Val: 16
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Campo comportamiento raro

Publicado por Juan Diego (8 intervenciones) el 19/04/2018 15:46:00
Muchas gracias Isaías,

Era efectivamente un caso de índices como expongo en la respuesta a JAMS.

Gracias por interesarte, feliz día.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 2.534
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Campo comportamiento raro

Publicado por Isaias (4202 intervenciones) el 19/04/2018 22:55:10
Nada que agradecer, estamos para compartir y aprender
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar