Consulta Lenta por condiciones del select

07/03/2005 - 15:39 por Arturo | Informe spam
Hola a Todos:

Tengo un gran Problema con una consulta. Tengo dos BD
Iguales con una semana de diferencia.porque he levantado
un Backup con otro nombre.

Tengo una Consulta con varios Inner join, como las Bds son
iguales imagine q deberian demorar lo mismo. pero en una
se demora 2 a 3 sg y en la otra 3 min.

Haciendo pruebas y descartes note que en la BD donde esta
mas lenta, cuando pongo Select * y lo demas esta normal
demora poco 3 seg...pero cuando pongo campos especificos
Select Nombre1.. demora unos 3 min..una gran diferencia.
pero no entiendo cual es el problema, si las estructuras
son iguales tanto de la sentecia como de las tablas
consultadas.

Ya no se que probar..si ha alguien le ha sucedido esto
Porfavor ayudenme..

Gracias

Arturo M.
Peru-Aqp

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
07/03/2005 - 16:09 | Informe spam
Arturo,

Por lo pronto chequeate el plan de ejecicion escogido por sql server cuando
ejecutas la sentencia en ambas bd. Tambien recuerda actualizar las
estadisticas en ambas bd, usando sp_updatestats, antes de ejecutar la
sentencia.

set showplan_text on
go

select ...
go

set showplan_text off
go


Luego nos cuentas.


AMB
"Arturo" wrote:

Hola a Todos:

Tengo un gran Problema con una consulta. Tengo dos BD
Iguales con una semana de diferencia.porque he levantado
un Backup con otro nombre.

Tengo una Consulta con varios Inner join, como las Bds son
iguales imagine q deberian demorar lo mismo. pero en una
se demora 2 a 3 sg y en la otra 3 min.

Haciendo pruebas y descartes note que en la BD donde esta
mas lenta, cuando pongo Select * y lo demas esta normal
demora poco 3 seg...pero cuando pongo campos especificos
Select Nombre1.. demora unos 3 min..una gran diferencia.
pero no entiendo cual es el problema, si las estructuras
son iguales tanto de la sentecia como de las tablas
consultadas.

Ya no se que probar..si ha alguien le ha sucedido esto
Porfavor ayudenme..

Gracias

Arturo M.
Peru-Aqp

Respuesta Responder a este mensaje
#2 Maxi
07/03/2005 - 16:15 | Informe spam
Hola, pues deberiamos ver los planes de ejecucion quizas no se esten usando
indices.

Has probado actualizar las estadisticas?

Otro tema, me imagino que los JOIN si son muchos registros los has hecho con
consultas derivadas no?


Salu2
Maxi


"Arturo" escribió en el mensaje
news:539401c52323$888b3860$
Hola a Todos:

Tengo un gran Problema con una consulta. Tengo dos BD
Iguales con una semana de diferencia.porque he levantado
un Backup con otro nombre.

Tengo una Consulta con varios Inner join, como las Bds son
iguales imagine q deberian demorar lo mismo. pero en una
se demora 2 a 3 sg y en la otra 3 min.

Haciendo pruebas y descartes note que en la BD donde esta
mas lenta, cuando pongo Select * y lo demas esta normal
demora poco 3 seg...pero cuando pongo campos especificos
Select Nombre1.. demora unos 3 min..una gran diferencia.
pero no entiendo cual es el problema, si las estructuras
son iguales tanto de la sentecia como de las tablas
consultadas.

Ya no se que probar..si ha alguien le ha sucedido esto
Porfavor ayudenme..

Gracias

Arturo M.
Peru-Aqp
Respuesta Responder a este mensaje
#3 Anonimo
07/03/2005 - 17:00 | Informe spam
Estimados Alejandro y Maxi,

Ante todo, les agradesco sobremanera la atencion prestada.

Siguiendo sus consejos he actualizado las estadisticas de
todas las tablas que intervienen en la sentencia.

He revisado los planes de ejecución de ambas db y he
encontrado diferencias, aqui les detallo una de las lineas
que no coinciden y como estas hay varias.

bd ok
| |--Hash Match(Left Outer Join, HASH:
([DOC].[SUCR_Codigo], [DOC].[DDCO_Item], [DOC].
[DOCC_NumDC], [DOC].[DOCC_Tipo])=([DSC_DOC].
[SUCR_CodigoDC], [DSC_DOC].[DDCO_Item], [DSC_DOC].
[DOCC_NumDC], [DSC_DOC].[DOCC_Tipo]), RESIDUAL:((([DOC].[

bd con problemas
| |--Nested Loops(Left Outer Join)

Saludos cordiales,
Arturo.

Arturo,

Por lo pronto chequeate el plan de ejecicion escogido por


sql server cuando
ejecutas la sentencia en ambas bd. Tambien recuerda


actualizar las
estadisticas en ambas bd, usando sp_updatestats, antes de


ejecutar la
sentencia.

set showplan_text on
go

select ...
go

set showplan_text off
go


Luego nos cuentas.


AMB
"Arturo" wrote:

Hola a Todos:

Tengo un gran Problema con una consulta. Tengo dos BD
Iguales con una semana de diferencia.porque he




levantado
un Backup con otro nombre.

Tengo una Consulta con varios Inner join, como las Bds




son
iguales imagine q deberian demorar lo mismo. pero en




una
se demora 2 a 3 sg y en la otra 3 min.

Haciendo pruebas y descartes note que en la BD donde




esta
mas lenta, cuando pongo Select * y lo demas esta normal
demora poco 3 seg...pero cuando pongo campos




especificos
Select Nombre1.. demora unos 3 min..una gran




diferencia.
pero no entiendo cual es el problema, si las




estructuras
son iguales tanto de la sentecia como de las tablas
consultadas.

Ya no se que probar..si ha alguien le ha sucedido esto
Porfavor ayudenme..

Gracias

Arturo M.
Peru-Aqp



.

Respuesta Responder a este mensaje
#4 Alejandro Mesa
07/03/2005 - 17:17 | Informe spam
Chequeastes que ambas bd tengan los mismos indices?

Fijate, una semana de diferencia puede influir para que sql server escoja
otro plan de ejecucion. Primero deberias hacer una prueba con bd similares.


AMB


"" wrote:

Estimados Alejandro y Maxi,

Ante todo, les agradesco sobremanera la atencion prestada.

Siguiendo sus consejos he actualizado las estadisticas de
todas las tablas que intervienen en la sentencia.

He revisado los planes de ejecución de ambas db y he
encontrado diferencias, aqui les detallo una de las lineas
que no coinciden y como estas hay varias.

bd ok
| |--Hash Match(Left Outer Join, HASH:
([DOC].[SUCR_Codigo], [DOC].[DDCO_Item], [DOC].
[DOCC_NumDC], [DOC].[DOCC_Tipo])=([DSC_DOC].
[SUCR_CodigoDC], [DSC_DOC].[DDCO_Item], [DSC_DOC].
[DOCC_NumDC], [DSC_DOC].[DOCC_Tipo]), RESIDUAL:((([DOC].[

bd con problemas
| |--Nested Loops(Left Outer Join)

Saludos cordiales,
Arturo.

>Arturo,
>
>Por lo pronto chequeate el plan de ejecicion escogido por
sql server cuando
>ejecutas la sentencia en ambas bd. Tambien recuerda
actualizar las
>estadisticas en ambas bd, usando sp_updatestats, antes de
ejecutar la
>sentencia.
>
>set showplan_text on
>go
>
>select ...
>go
>
>set showplan_text off
>go
>
>
>Luego nos cuentas.
>
>
>AMB
>"Arturo" wrote:
>
>> Hola a Todos:
>>
>> Tengo un gran Problema con una consulta. Tengo dos BD
>> Iguales con una semana de diferencia.porque he
levantado
>> un Backup con otro nombre.
>>
>> Tengo una Consulta con varios Inner join, como las Bds
son
>> iguales imagine q deberian demorar lo mismo. pero en
una
>> se demora 2 a 3 sg y en la otra 3 min.
>>
>> Haciendo pruebas y descartes note que en la BD donde
esta
>> mas lenta, cuando pongo Select * y lo demas esta normal
>> demora poco 3 seg...pero cuando pongo campos
especificos
>> Select Nombre1.. demora unos 3 min..una gran
diferencia.
>> pero no entiendo cual es el problema, si las
estructuras
>> son iguales tanto de la sentecia como de las tablas
>> consultadas.
>>
>> Ya no se que probar..si ha alguien le ha sucedido esto
>> Porfavor ayudenme..
>>
>> Gracias
>>
>> Arturo M.
>> Peru-Aqp
>>
>.
>

Respuesta Responder a este mensaje
#5 Arturo
07/03/2005 - 21:04 | Informe spam
Te cuento que la estructura del backup que levante hace
una semana no ha sido modificado para nada. He revisado la
estructura de cada tabla de la consulta y no he encontrado
diferencias.

Ahora que recuerdo, hace 4 días el log de la bd estaba en
3.5 GB asi es que ejecute el sp_detach_db (borre el log) y
el sp_attach_single_file_db para reducir el tamaño del
log, y desde ese día, me parece, empece a tener este
problema, crees que se deba a esto?

Saludos,
Arturo.

Chequeastes que ambas bd tengan los mismos indices?

Fijate, una semana de diferencia puede influir para que


sql server escoja
otro plan de ejecucion. Primero deberias hacer una prueba


con bd similares.


AMB


"" wrote:

Estimados Alejandro y Maxi,

Ante todo, les agradesco sobremanera la atencion




prestada.

Siguiendo sus consejos he actualizado las estadisticas




de
todas las tablas que intervienen en la sentencia.

He revisado los planes de ejecución de ambas db y he
encontrado diferencias, aqui les detallo una de las




lineas
que no coinciden y como estas hay varias.

bd ok
| |--Hash Match(Left Outer Join,




HASH:
([DOC].[SUCR_Codigo], [DOC].[DDCO_Item], [DOC].
[DOCC_NumDC], [DOC].[DOCC_Tipo])=([DSC_DOC].
[SUCR_CodigoDC], [DSC_DOC].[DDCO_Item], [DSC_DOC].
[DOCC_NumDC], [DSC_DOC].[DOCC_Tipo]), RESIDUAL:((([DOC].




[

bd con problemas
| |--Nested Loops(Left Outer Join)

Saludos cordiales,
Arturo.

>Arturo,
>
>Por lo pronto chequeate el plan de ejecicion escogido




por
sql server cuando
>ejecutas la sentencia en ambas bd. Tambien recuerda
actualizar las
>estadisticas en ambas bd, usando sp_updatestats, antes




de
ejecutar la
>sentencia.
>
>set showplan_text on
>go
>
>select ...
>go
>
>set showplan_text off
>go
>
>
>Luego nos cuentas.
>
>
>AMB
>"Arturo" wrote:
>
>> Hola a Todos:
>>
>> Tengo un gran Problema con una consulta. Tengo dos




BD
>> Iguales con una semana de diferencia.porque he
levantado
>> un Backup con otro nombre.
>>
>> Tengo una Consulta con varios Inner join, como las




Bds
son
>> iguales imagine q deberian demorar lo mismo. pero en
una
>> se demora 2 a 3 sg y en la otra 3 min.
>>
>> Haciendo pruebas y descartes note que en la BD donde
esta
>> mas lenta, cuando pongo Select * y lo demas esta




normal
>> demora poco 3 seg...pero cuando pongo campos
especificos
>> Select Nombre1.. demora unos 3 min..una gran
diferencia.
>> pero no entiendo cual es el problema, si las
estructuras
>> son iguales tanto de la sentecia como de las tablas
>> consultadas.
>>
>> Ya no se que probar..si ha alguien le ha sucedido




esto
>> Porfavor ayudenme..
>>
>> Gracias
>>
>> Arturo M.
>> Peru-Aqp
>>
>.
>



.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida