Como ejecutar un Query por desde SQL Server usando parámetros

14/01/2004 - 21:12 por Lic. Jose Aguilera Iglesias | Informe spam
Hola Foro:

Quisiera saber cómo se pudiera lograr construir un Query dentro de un Stored
Procedure y luego ejecutarlo.

Sería algo así como:

declare @cad varchar
set @cad = 'select * from Tabla'

...y ahora poder ejecutar un llamado a ese Query para ejecutarlo.


Agradeciendoles de antemano

jaigle

Preguntas similare

Leer las respuestas

#11 Adrian Garcia
15/01/2004 - 18:48 | Informe spam
Curioso, no tienes ningun indice cluster (agrupado) sobre las consultas. A
menos que se indique lo contrario en el momento de la definicion de la
restriccion de la clave primaria, SQL Server crea un indice Cluster. Pero
seguramente debe haber existido algun motivo por el cual la clave primaria
fue definido asi.

Bien, lo que habria que ver, si puedes indicarlo, es si existe algun indice
sobre la columna RequestDate.
Si no existe ese indice prodriamos probar agregando a la clausula where
alguna columna que tenga indice. Ahi estaremos en condiciones de ver si hay
alguna diferencia.

Saludos
Adrian D. Garcia
NDSoft


"Norman A. Armas" wrote in message
news:
Y aqui tienes el resultado de las estadisticas de IO para que saques
conclusiones :-)

(27630 row(s) affected)

Table 'OrderDet'. Scan count 1, logical reads 8462, physical reads 0,
read-ahead reads 0.
Table 'OrderHead'. Scan count 1, logical reads 448, physical reads 0,
read-ahead reads 0.



(27630 row(s) affected)

Table 'OrderDet'. Scan count 1, logical reads 8462, physical reads 0,
read-ahead reads 0.
Table 'OrderHead'. Scan count 1, logical reads 448, physical reads 0,
read-ahead reads 0.


Saludos,

Norman



"Adrian Garcia" wrote in message
news:
> Si no tienes definido ningun indice en las tablas (ni siquiera un


primary
> key, por eso realiza TABLE SCAN y no un CLUSTER INDEX SCAN) va a ser


medio
> imposible comparar los 2 queries.
> Probemos con agregarle a las 2 tablas los primary key y definirle un
indice
> adicional por el campo fecha.
> Tambien seria muy bueno que tengamos las estadisticas de IO para


comparar
> bien los resultados.
>
> Saludos
> Adrian D. Garcia
> NDSoft
>
>


Respuesta Responder a este mensaje
#12 Adrian Garcia
15/01/2004 - 20:41 | Informe spam
Tienes razon, no habia leido el post anterior con atencion.
Queda un tema interesante a ver aqui y es el porque SQL Server no utiliza el
indice que tiene definido por RequestDate. Infiero que debe ser por la
cantidad de filas que estan comprendidas en el rango especificado ( >= ).

Podriamos probar el mismo script pero con esta condicion?

set @FromDate='12/15/2003'
set @ToDate='12/16/2003'

Y ver cual es el plan de ejecucion generado?

Saludos
Adrian D. Garcia
NDSoft

"Norman A. Armas" wrote in message
news:
Contra, pero si te envie en un post anterior todos los idndices de todas


las
tbals, este es el que tu buscas

IX_OrderHead_4 nonclustered located on PRIMARY RequestDate


> Saludos,

Norman



"Adrian Garcia" wrote in message
news:%23M$
> Curioso, no tienes ningun indice cluster (agrupado) sobre las consultas.


A
> menos que se indique lo contrario en el momento de la definicion de la
> restriccion de la clave primaria, SQL Server crea un indice Cluster.


Pero
> seguramente debe haber existido algun motivo por el cual la clave


primaria
> fue definido asi.
>
> Bien, lo que habria que ver, si puedes indicarlo, es si existe algun
indice
> sobre la columna RequestDate.
> Si no existe ese indice prodriamos probar agregando a la clausula where
> alguna columna que tenga indice. Ahi estaremos en condiciones de ver si
hay
> alguna diferencia.
>
> Saludos
> Adrian D. Garcia
> NDSoft
>
>
> "Norman A. Armas" wrote in message
> news:
> > Y aqui tienes el resultado de las estadisticas de IO para que saques
> > conclusiones :-)
> >
> > (27630 row(s) affected)
> >
> > Table 'OrderDet'. Scan count 1, logical reads 8462, physical reads 0,
> > read-ahead reads 0.
> > Table 'OrderHead'. Scan count 1, logical reads 448, physical reads 0,
> > read-ahead reads 0.
> >
> >
> >
> > (27630 row(s) affected)
> >
> > Table 'OrderDet'. Scan count 1, logical reads 8462, physical reads 0,
> > read-ahead reads 0.
> > Table 'OrderHead'. Scan count 1, logical reads 448, physical reads 0,
> > read-ahead reads 0.
> >
> >
> > Saludos,
> >
> > Norman
> >
> >
> >
> > "Adrian Garcia" wrote in message
> > news:
> > > Si no tienes definido ningun indice en las tablas (ni siquiera un
> primary
> > > key, por eso realiza TABLE SCAN y no un CLUSTER INDEX SCAN) va a ser
> medio
> > > imposible comparar los 2 queries.
> > > Probemos con agregarle a las 2 tablas los primary key y definirle un
> > indice
> > > adicional por el campo fecha.
> > > Tambien seria muy bueno que tengamos las estadisticas de IO para
> comparar
> > > bien los resultados.
> > >
> > > Saludos
> > > Adrian D. Garcia
> > > NDSoft
> > >
> > >
> >
> >
>
>


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