Select leeeeento

26/06/2008 - 16:52 por Matias | Informe spam
Hola a todos, les comento; tengo un select que en el servidor(maquina
server) del cliente demora casi 3 minutos en ejecutarse, mientras que en el
server nuestro demora solo 3 segundos.
Si bien hay diferencia de Hard y se Soft, llama la atencion tanta
diferencia! Caracteristicas de los servers:
- Server del cliente: Pentium 4E, 2800 MHz - 1GB RAM - MSDE
- WINDOWS 2003(sin sp)
- Server nuestro : Intel core 2 duo, 2000 MHz - 2GB RAM - SQL EXPRESS
SP2 - WINDOWS 2003SP2

Cual puede ser el problema? aclaro que del cliente la memoria usada es de
unos 600 o 700MB al momento de ejecutar el select.

Por razones de la empresa no puedo postear el select, pero les cuento; es un
select de select, con algunas sub-consulas y varios left e inner join y se
realiza entre 2 bases de datos. NO se usan cursores ni tablas temporales.

PD: cuando digo select de select me refiero a lo que le llaman tablas
derivadas, si no me equivoco; ejemplo:

SELECT * FROM (SELECT * FROM TABLA) T

MIL GRACIAS!

Preguntas similare

Leer las respuestas

#1 jcac
26/06/2008 - 17:06 | Informe spam
Hola Matias

Quizas si revizas los planes de ejecucion ellos te podrian indicar donde
falta mejorar la sentencia o colocar un indice.

Saludos

Juan Carlos

"Matias" escribió en el mensaje
news:
Hola a todos, les comento; tengo un select que en el servidor(maquina
server) del cliente demora casi 3 minutos en ejecutarse, mientras que en
el server nuestro demora solo 3 segundos.
Si bien hay diferencia de Hard y se Soft, llama la atencion tanta
diferencia! Caracteristicas de los servers:
- Server del cliente: Pentium 4E, 2800 MHz - 1GB RAM - MSDE -
WINDOWS 2003(sin sp)
- Server nuestro : Intel core 2 duo, 2000 MHz - 2GB RAM - SQL EXPRESS
SP2 - WINDOWS 2003SP2

Cual puede ser el problema? aclaro que del cliente la memoria usada es de
unos 600 o 700MB al momento de ejecutar el select.

Por razones de la empresa no puedo postear el select, pero les cuento; es
un select de select, con algunas sub-consulas y varios left e inner join y
se realiza entre 2 bases de datos. NO se usan cursores ni tablas
temporales.

PD: cuando digo select de select me refiero a lo que le llaman tablas
derivadas, si no me equivoco; ejemplo:

SELECT * FROM (SELECT * FROM TABLA) T

MIL GRACIAS!


Respuesta Responder a este mensaje
#2 Victor Koch
26/06/2008 - 17:08 | Informe spam
Hola,

¿ Y no será que en la base de datos del cliente faltan índices ?.

Un Saludo, Víctor Koch



"Matias" escribió en el mensaje
news:
Hola a todos, les comento; tengo un select que en el servidor(maquina
server) del cliente demora casi 3 minutos en ejecutarse, mientras que en
el server nuestro demora solo 3 segundos.
Si bien hay diferencia de Hard y se Soft, llama la atencion tanta
diferencia! Caracteristicas de los servers:
- Server del cliente: Pentium 4E, 2800 MHz - 1GB RAM - MSDE -
WINDOWS 2003(sin sp)
- Server nuestro : Intel core 2 duo, 2000 MHz - 2GB RAM - SQL EXPRESS
SP2 - WINDOWS 2003SP2

Cual puede ser el problema? aclaro que del cliente la memoria usada es de
unos 600 o 700MB al momento de ejecutar el select.

Por razones de la empresa no puedo postear el select, pero les cuento; es
un select de select, con algunas sub-consulas y varios left e inner join y
se realiza entre 2 bases de datos. NO se usan cursores ni tablas
temporales.

PD: cuando digo select de select me refiero a lo que le llaman tablas
derivadas, si no me equivoco; ejemplo:

SELECT * FROM (SELECT * FROM TABLA) T

MIL GRACIAS!


Respuesta Responder a este mensaje
#3 Matias
26/06/2008 - 19:05 | Informe spam
Gracias por responder, los indices supongo esta bien, ya que la base del
cliente es exactamente la misma que yo tengo.(restaure el bak que me
pasaron)
Voy a revisar el plan de ejecución. Lo que no me gusta es que hay un
DISTINCT.
Respuesta Responder a este mensaje
#4 Maxi Accotto
27/06/2008 - 03:17 | Informe spam
Hola, pasanos el plan, tambien puedes tener problemas de lokeos y por eso se
demora el query, para ver esto intenta (solo para probar pero por favor no
lo dejes asi) de usar (nolock) en las tablas que estas usando en el query,
por ejemplo

from tabla1 (nolock)
inner join tabla2 (nolock), y asi


Saludos
Maxi Accotto
Microsoft MVP en SQLServer
SQltotalconsulting
-

"Matias" escribió en el mensaje de
noticias:
Gracias por responder, los indices supongo esta bien, ya que la base del
cliente es exactamente la misma que yo tengo.(restaure el bak que me
pasaron)
Voy a revisar el plan de ejecución. Lo que no me gusta es que hay un
DISTINCT.

Respuesta Responder a este mensaje
#5 Matias
27/06/2008 - 20:00 | Informe spam
Gracias Maxi, te comento que recien la semana que viene voy a hacer es
prueba, ya que ahora no tengo acceso.
Disculpa la ignorancia, pero como hago para guardar el plan de ejecucion y
postearlo aca? es un sql 2000.

Mil gracias.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida