Consultas SQL

20/12/2003 - 23:24 por Mauricio Sthandier R. | Informe spam
hola... quisiera hacer unas consultas que se me han acumulado el último
tiempo :

a) Hay alguna forma de ver los parámetros de los procedimientos almacenados
extendidos ? a través de syscolumns sólo puedo ver los parámetros de pas
normales
b) Como puedo limpiar el caché de las querys ? En mi trabajo necesito
optimizar consultas, y el problema es que después de la primera query el
tiempo de respuesta se desvirtúa... necesito contrastar tiempos como si la
consulta se corriera por primera vez en cada ejecución sucesiva... se me
olvidaba mencionar que esto es para SQL Server 7.
c) De qué forma resuelven el siguiente problema de Rangos ?

Colegio : 109
Recibos : 1000, 1001, 1002, 1004, 1007, 1008, 1009, 1020, 1021

Necesitaba extraer lo siguiente en cada registro :

Colegio 109, Recibo Inicial 1000, Recibo Final 1002
Colegio 109, Recibo Inicial 1004, Recibo Final 1004
Colegio 109, Recibo Inicial 1007, Recibo Final 1009
Colegio 109, Recibo Inicial 1020, Recibo Final 1021

yo lo he resuelto pero con un SELECT como tabla en el JOIN y subconsultas
MAX y EXISTS para ese SELECT. Acá siempre tienen formas más interesantes y
sencillas de resolver estos temas... si a alguien le interesa o no me
entiende puedo incluir DDL el próximo Lunes.

gracias... espero poder volver por estos lares pronto...

Preguntas similare

Leer las respuestas

#6 Mauricio Sthandier R.
24/12/2003 - 00:50 | Informe spam
gracias Liliana me gustó mucho más como quedó la consulta, es más legible y
"limpia" considero

lo del rendimiento no pude apreciar sensible diferencia pero es muy probable
es que sea debido a que no sé utilizar muy bien las herramientas que entrega
el query analyzer, y a la mínima cantidad de registros (no quiero ni pensar
con todas la subconsultas mías y unos 300.000 registros).

es otra y mejor manera de hacerlo, algo que siempre agradezco !

ahh un detalle para obtener lo mismo que quería ls.recibo debe ser mayor O
igual que li.recibo

"soy un caprichoso usador de palabras,
no un poeta. Ésa es la verdad."
(Dylan Thomas)

"Liliana Sorrentino" escribió en el mensaje
news:eaXRd%
Hola Mauricio,
Bueno, no es como para decir ¡qué mejora!, pero algo se consiguió según el
plan de ejecución, aunque no en claridad al leer el query (lo tuyo no


estaba
tan mal después de todo).
Está basado en la búsqueda de huecos que alguna vez vimos con Miguel Egea
por acá, espero que te sirva.
Saludos... Liliana.

SELECT c.colegio, li.recibo AS inferior, MIN(ls.recibo) AS superior
FROM #colegios c

INNER JOIN
(SELECT t1.colegio, t1.recibo
FROM #recibos t1
LEFT JOIN #recibos t2 ON t1.recibo - 1 = t2.recibo
WHERE t2.recibo IS NULL AND t1.recibo - 1 > 0) AS li
ON li.colegio = c.colegio

INNER JOIN

(SELECT t1.colegio, t1.recibo
FROM #recibos t1
LEFT JOIN #recibos t2 ON t1.recibo + 1 = t2.recibo
WHERE t2.recibo IS NULL AND t1.recibo - 1 > 0) ls
ON ls.colegio = c.colegio AND ls.recibo > li.recibo

GROUP BY c.colegio, li.recibo
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida