Usuario
Select lento

Debate general
-
Hola.
Tengo un job que sube diariamente un respaldo de la BD del servidor productivo a desarrollo.
Pues bien tengo un select que en Productivo demora milesimas de segundos y en desarrollo demora 47 segundos.
El select usa PK como indice, ya lo recontrui y nada sigue demorando.
SELECT distinct RUT, Nombre = Apellido_Paterno + ' ' + Apellido_Materno + ', ' + Nombres
, id_tipo_persona, id_Sede
from personas p
WHERE rtrim(id_pasaporte)=rtrim(12345)
DBA SQL Server Santiago/Chile
- Tipo cambiado José De Alva lunes, 18 de julio de 2016 22:08
Todas las respuestas
-
Hola CMAPM
Quizás se demore porque estás poniendo alias a la tabla y en los campos no.
Intenta así:
SELECT distinct p.RUT, Nombre = p.Apellido_Paterno + ' ' + p.Apellido_Materno + ', ' Nombres , p.id_tipo_persona, p.id_Sede from personas p WHERE rtrim(p.id_pasaporte)=rtrim(12345)
Saludos
Javier
-
-
-
-
-
La verdad es que no, son bastantes diferentes.
Productivo SQL 2005 32Gb RAM
Desarrollo SQL 2008 R2 12 GB RAM
Ahora, cuadno ejecuto cualquier SP, select, vista y demases no tengo problemas.
El Select indique devuelve SOLO 1 registro y demora 45 segundos.
DBA SQL Server Santiago/Chile
-
-
-
-
-
-
Enrique, esto ?
|--Parallelism(Gather Streams)
|--Compute Scalar(DEFINE:([Expr1002]=((([DB].[dbo].[Personas].[Apellido_Paterno] as [p].[Apellido_Paterno]+' ')+[DB].[dbo].[Personas].[Apellido_Materno] as [p].[Apellido_Materno])+', ')+[DB].[dbo].[Personas].[Nombres] as [p].[Nombr
|--Clustered Index Scan(OBJECT:([DB].[dbo].[Personas].[PK_Pernonas_Resp] AS [p]), WHERE:(rtrim([DB].[dbo].[Personas].[ID_Pasaporte] as [p].[ID_Pasaporte])='12345'))
|--Parallelism(Gather Streams)
|--Compute Scalar(DEFINE:([Expr1002]=((([DB].[dbo].[Personas].[Apellido_Paterno] as [p].[Apellido_Paterno]+' ')+[Fichas20].[dbo].[Personas].[Apellido_Materno] as [p].[Apellido_Materno])+' ')+[DB].[dbo].[Personas].[Nombres] as [p].[Nombre
|--Clustered Index Scan(OBJECT:([DB].[dbo].[Personas].[PK_Pernonas_Resp] AS [p]), WHERE:(rtrim([DB].[dbo].[Personas].[ID_Pasaporte] as [p].[ID_Pasaporte])='12345'))
DBA SQL Server Santiago/Chile
- Editado CMAPM martes, 12 de julio de 2016 16:37
-
-
-
-
-
-
-
Si, le saque el distinct a uno solo para probar y se me fue volver a dejarlo como estaba.
Hay diferencia de procesadores y de maquina.
Productivo 8 VCPU es virtual.
Desarrollo 4 CPU es fisico.
Se que el de desarrollo es menos máquina, pero acá viene mu duda, solo yo lo estoy ocupando, y por eso digo que demora mucho, hago otro select de una tabla que tiene mas registros y demora bastante poco.
DBA SQL Server Santiago/Chile
-
Aunque es extraño pueden haber tantos puntos de quiebre y sin conocer el ambiente es dificil.
Corre en ambos un
DBCC TRACESTATUS(-1)
Intenta hacer correr el query en serial en ambos para descartar que sea un problema por waits en un plan paralelo.
Al final pon OPTION (MAXDOP 1)
-
-
-
-
-
Hola,
después de leerme todas las respuestas...has pensado en si tienes algún problema de disco o algo parecido?
Y también, algo que creo que no te han pedido todavía, puedes ejecutar la consulta en ambos servidores asi:
- DBCC DROPCLEANBUFFERS
- SET STATISTICS IO ON
- lanza las querys y pega aquí ambos resultados a ver que sale
Saludos
JMF
-
-
Se que es delicado y poco aconsejable ejecutarlo en producción pero a veces hay que tomar decisiones arriesgadas...todo dependerá del volumen de tráfico que reciba el servidor de todas formas.
De todas formas he visto en el plan de ejecución en modo texto que ha puesto antes y veo que en el segundo hace referencia a dos bases de datos distintas?¿?¿? a Fichas20 y a DB?¿?¿?
Podrías explicar eso CMAPM?
SalU2
JMF
-
-