consulta sql

18/10/2004 - 18:55 por Fernando Ugarte | Informe spam
tengo dos tablas
mssi1 con
orden, digitoverificador, ID_Sucursal, codregistro, ID_grupo,
numero_afiliado, ID_miembro, fecha_emision, IDprofesion, ID_prescriptor,
importe_prestacion, ID_prestador, ID_seq, Estado
y
mssi2 con
orden, item, cantidad

la relacion es por id de orden

y necesito una tabla con
orden_id, fecha, matricual, idseq, y suma de cantidades

pero se cuelga el sql cuando quiero hacer la consulta
alguna idea?
probe con


SELECT dbo.ss_mssi1.orden, dbo.ss_mssi1.fecha_emision,
dbo.ss_mssi1.IDprofesion, dbo.ss_mssi1.ID_prescriptor,
dbo.ss_mssi1.importe_prestacion,
dbo.ss_mssi1.ID_seq, dbo.ss_mssi1.Estado,
SUM(dbo.ss_mssi2.cantidad) AS Cantidad_total
FROM dbo.ss_mssi1 INNER JOIN
dbo.ss_mssi2 ON dbo.ss_mssi1.orden dbo.ss_mssi2.orden AND dbo.ss_mssi1.ID_Sucursal = dbo.ss_mssi2.ID_Sucursal
GROUP BY dbo.ss_mssi1.orden, dbo.ss_mssi1.fecha_emision,
dbo.ss_mssi1.IDprofesion, dbo.ss_mssi1.ID_prescriptor,
dbo.ss_mssi1.importe_prestacion,
dbo.ss_mssi1.ID_seq, dbo.ss_mssi1.Estado

pero tarda demasiado, se puede optimizar??
gracias




Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.777 / Virus Database: 524 - Release Date: 14/10/2004

Preguntas similare

Leer las respuestas

#1 Maxi
18/10/2004 - 19:42 | Informe spam
Hola, entra al query analizer, expone esta query.

Luego ve al menu herramientas - Adminiistrador de indices.

Aqui selecciona exaustivo y en la pantalla siguiente selecciona todas las
tablas que intervienen en la query.

Esto procesara y te dara algunas sugerencias de indices, si quiere armar
indices dile que los aplique (tanmbien guarda el Script) y vuelve a probar
la query a ver como se comporta nuevamente.


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Fernando Ugarte" <Nando> escribió en el mensaje
news:
tengo dos tablas
mssi1 con
orden, digitoverificador, ID_Sucursal, codregistro, ID_grupo,
numero_afiliado, ID_miembro, fecha_emision, IDprofesion, ID_prescriptor,
importe_prestacion, ID_prestador, ID_seq, Estado
y
mssi2 con
orden, item, cantidad

la relacion es por id de orden

y necesito una tabla con
orden_id, fecha, matricual, idseq, y suma de cantidades

pero se cuelga el sql cuando quiero hacer la consulta
alguna idea?
probe con


SELECT dbo.ss_mssi1.orden, dbo.ss_mssi1.fecha_emision,
dbo.ss_mssi1.IDprofesion, dbo.ss_mssi1.ID_prescriptor,
dbo.ss_mssi1.importe_prestacion,
dbo.ss_mssi1.ID_seq, dbo.ss_mssi1.Estado,
SUM(dbo.ss_mssi2.cantidad) AS Cantidad_total
FROM dbo.ss_mssi1 INNER JOIN
dbo.ss_mssi2 ON dbo.ss_mssi1.orden > dbo.ss_mssi2.orden AND dbo.ss_mssi1.ID_Sucursal = dbo.ss_mssi2.ID_Sucursal
GROUP BY dbo.ss_mssi1.orden, dbo.ss_mssi1.fecha_emision,
dbo.ss_mssi1.IDprofesion, dbo.ss_mssi1.ID_prescriptor,
dbo.ss_mssi1.importe_prestacion,
dbo.ss_mssi1.ID_seq, dbo.ss_mssi1.Estado

pero tarda demasiado, se puede optimizar??
gracias




Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.777 / Virus Database: 524 - Release Date: 14/10/2004







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.772 / Virus Database: 519 - Release Date: 01/10/2004
Respuesta Responder a este mensaje
#2 ulises
18/10/2004 - 20:19 | Informe spam
No le encuentro objecciones a la consulta lo que debe estar
pasando es que se está recorriendo la tabla para poder
obtener la información en lugar de usar los índices (si es
que los tiene), utiliza el Query Analyzer para ver el
Execution Plan de esta consulta, los lugares donde veas un
table-scan son candidatas para poder crear un índice, otra
alternativa que tienes es usar el "Index Tunning Wizard",
pero necesitas un archivo de trabajo que puedes crearlo con
el Profiler, este te dará una recomendación de índices que
debes crear en función a las consultas que has realizado en
ese archivo de trabajo.

Saludos,
Ulises

tengo dos tablas
mssi1 con
orden, digitoverificador, ID_Sucursal, codregistro, ID_grupo,
numero_afiliado, ID_miembro, fecha_emision, IDprofesion,


ID_prescriptor,
importe_prestacion, ID_prestador,


ID_seq, Estado
y
mssi2 con
orden, item, cantidad

la relacion es por id de orden

y necesito una tabla con
orden_id, fecha, matricual, idseq, y suma de cantidades

pero se cuelga el sql cuando quiero hacer la consulta
alguna idea?
probe con


SELECT dbo.ss_mssi1.orden, dbo.ss_mssi1.fecha_emision,
dbo.ss_mssi1.IDprofesion, dbo.ss_mssi1.ID_prescriptor,
dbo.ss_mssi1.importe_prestacion,
dbo.ss_mssi1.ID_seq,


dbo.ss_mssi1.Estado,
SUM(dbo.ss_mssi2.cantidad) AS Cantidad_total
FROM dbo.ss_mssi1 INNER JOIN
dbo.ss_mssi2 ON dbo.ss_mssi1.orden >dbo.ss_mssi2.orden AND dbo.ss_mssi1.ID_Sucursal dbo.ss_mssi2.ID_Sucursal
GROUP BY dbo.ss_mssi1.orden, dbo.ss_mssi1.fecha_emision,
dbo.ss_mssi1.IDprofesion, dbo.ss_mssi1.ID_prescriptor,
dbo.ss_mssi1.importe_prestacion,
dbo.ss_mssi1.ID_seq, dbo.ss_mssi1.Estado

pero tarda demasiado, se puede optimizar??
gracias




Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.777 / Virus Database: 524 - Release Date:


14/10/2004


.

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