Alguien tiene una explicación... Cosa loca

07/03/2008 - 04:12 por fernando C | Informe spam
Hola, gente. Tengo una tremenda curiosidad. lo que me pasa el lo siguiente SI
inmediatamnte despues de abrir la base SQL2000 CON ADO usando ODBC ejecuto la
siguiente sentencia SELECT MAX(Campo1) FROM Tabla1 tarda un monton traer el
resultado, aunque la tabla este vacia. Pero si antes de esta sentencia hago
SELECT Campo1 FROM Tabla1 WHERE Campo1 = 0 , intentando que el resultado sea
vacio, la direfencia de velocidad en muy notoria, tarda casi nada. Porque? Lo
mismo pasa con la función Count, y en base a esto supongo que puede pasar lo
mismo con otras funciones. Algo que ver, tal vez, con la configuración de la
DB.

Muchas gracias.
Salu2.

Preguntas similare

Leer las respuestas

#1 Gux (MVP)
07/03/2008 - 15:14 | Informe spam
Contado en forma simple: sucede que la consulta fue precompilada y cacheada
por SQL Server.

Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/profile/gux
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"fernando C" wrote:

Hola, gente. Tengo una tremenda curiosidad. lo que me pasa el lo siguiente SI
inmediatamnte despues de abrir la base SQL2000 CON ADO usando ODBC ejecuto la
siguiente sentencia SELECT MAX(Campo1) FROM Tabla1 tarda un monton traer el
resultado, aunque la tabla este vacia. Pero si antes de esta sentencia hago
SELECT Campo1 FROM Tabla1 WHERE Campo1 = 0 , intentando que el resultado sea
vacio, la direfencia de velocidad en muy notoria, tarda casi nada. Porque? Lo
mismo pasa con la función Count, y en base a esto supongo que puede pasar lo
mismo con otras funciones. Algo que ver, tal vez, con la configuración de la
DB.

Muchas gracias.
Salu2.
Respuesta Responder a este mensaje
#2 fernando C
09/03/2008 - 05:17 | Informe spam
Hola, Gustavo.
Perdon, pero no te entiendo, ademas quiero agregarte un dato mas, del que
deduzco que debe ser algun tema de configuracion de la DB o del servidor,
resulta ser que la base de produccion es remota, y el proceso del select max
es mas rapido con esa conexion remota que con la copia que es local. Alguna
sugerencia para revisar? ya sea de la DB o del servidor?

Muchas gracias,
Fernando C.


"Gux (MVP)" wrote:

Contado en forma simple: sucede que la consulta fue precompilada y cacheada
por SQL Server.

Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/profile/gux
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"fernando C" wrote:

> Hola, gente. Tengo una tremenda curiosidad. lo que me pasa el lo siguiente SI
> inmediatamnte despues de abrir la base SQL2000 CON ADO usando ODBC ejecuto la
> siguiente sentencia SELECT MAX(Campo1) FROM Tabla1 tarda un monton traer el
> resultado, aunque la tabla este vacia. Pero si antes de esta sentencia hago
> SELECT Campo1 FROM Tabla1 WHERE Campo1 = 0 , intentando que el resultado sea
> vacio, la direfencia de velocidad en muy notoria, tarda casi nada. Porque? Lo
> mismo pasa con la función Count, y en base a esto supongo que puede pasar lo
> mismo con otras funciones. Algo que ver, tal vez, con la configuración de la
> DB.
>
> Muchas gracias.
> Salu2.
Respuesta Responder a este mensaje
#3 Gux (MVP)
10/03/2008 - 13:52 | Informe spam
Quiero estar seguro de haber entendido: Usted dice que una consulta a un
servidor local es más lenta que la misma búsqueda a un serviodor remoto?

Puede ser que haya diferentes índices o que las estadísitcas de indices
esten desactualizadas.

Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/profile/gux
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"fernando C" wrote:

Hola, Gustavo.
Perdon, pero no te entiendo, ademas quiero agregarte un dato mas, del que
deduzco que debe ser algun tema de configuracion de la DB o del servidor,
resulta ser que la base de produccion es remota, y el proceso del select max
es mas rapido con esa conexion remota que con la copia que es local. Alguna
sugerencia para revisar? ya sea de la DB o del servidor?

Muchas gracias,
Fernando C.


"Gux (MVP)" wrote:

> Contado en forma simple: sucede que la consulta fue precompilada y cacheada
> por SQL Server.
>
> Gustavo Larriera, Microsoft MVP
> https://mvp.support.microsoft.com/profile/gux
> Este mensaje se proporciona tal como es, sin garantías de ninguna clase.
>
>
>
> "fernando C" wrote:
>
> > Hola, gente. Tengo una tremenda curiosidad. lo que me pasa el lo siguiente SI
> > inmediatamnte despues de abrir la base SQL2000 CON ADO usando ODBC ejecuto la
> > siguiente sentencia SELECT MAX(Campo1) FROM Tabla1 tarda un monton traer el
> > resultado, aunque la tabla este vacia. Pero si antes de esta sentencia hago
> > SELECT Campo1 FROM Tabla1 WHERE Campo1 = 0 , intentando que el resultado sea
> > vacio, la direfencia de velocidad en muy notoria, tarda casi nada. Porque? Lo
> > mismo pasa con la función Count, y en base a esto supongo que puede pasar lo
> > mismo con otras funciones. Algo que ver, tal vez, con la configuración de la
> > DB.
> >
> > Muchas gracias.
> > Salu2.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida