tiempo de respuesta

21/09/2006 - 14:31 por TatanMax | Informe spam
Hola, tengo una aplicación con 2 millones de registros y exporté la tabla a
SQL. Cuando realizo una búsqueda en la aplicación, demora 2-3 segundos, y si
hago una consulta en Sql, tarda más de 1 minuto. También lo probé con Access
y resulta igual. ¿Como puedo resolver el problema? (Los campos están
indexados).
Gracias

Preguntas similare

Leer las respuestas

#1 cschmid
21/09/2006 - 14:40 | Informe spam
Hola,

1. Estas usando la misma consulta que la aplicación?

Si es así, es raro, pero si no, deberías correr las
estadísticas para las tablas, y luego verificar los indices y tu
consulta a los efectos de ver que la estes armando correctamente, para
eso desde el query analizer puedes ver el Plan table haciendo CTRL+L.

Para analizar la tabla podes usar:

UPDATE STATISTICS authors au_id_ind
UPDATE STATISTICS authors(anames) WITH SAMPLE 50 PERCENT
DBCC SHOW_STATISTICS


TatanMax ha escrito:

Hola, tengo una aplicación con 2 millones de registros y exporté la tabla a
SQL. Cuando realizo una búsqueda en la aplicación, demora 2-3 segundos, y si
hago una consulta en Sql, tarda más de 1 minuto. También lo probé con Access
y resulta igual. ¿Como puedo resolver el problema? (Los campos están
indexados).
Gracias
Respuesta Responder a este mensaje
#2 Alejandro Mesa
21/09/2006 - 14:45 | Informe spam
TatanMax,

Creo que la informacion que nos das no es suficiente como para hacer una
evaluacion del problema y poder dar una recomendacion. Lo que si te puedo
recomendar es que para que podamos ayudarte, se necesita informacion sobre la
estructura de la tabla, incluyendo indices y restricciones, asi como la
consulta de la que hablas, que version de SQL Server usas, etc.


AMB


"TatanMax" wrote:

Hola, tengo una aplicación con 2 millones de registros y exporté la tabla a
SQL. Cuando realizo una búsqueda en la aplicación, demora 2-3 segundos, y si
hago una consulta en Sql, tarda más de 1 minuto. También lo probé con Access
y resulta igual. ¿Como puedo resolver el problema? (Los campos están
indexados).
Gracias



Respuesta Responder a este mensaje
#3 TatanMax
21/09/2006 - 15:26 | Informe spam
La tabla es simple, ni siquiera está relacionada, y la consulta es
SELECT * FROM tabla WHERE Apellido Like '%abc%'
El campo Apellido está indexado(con duplicados) y también hay un Id
autonumérico para cada apellido

Estoy tababajando con Sql server 2000 Enterprice

Gracias
Respuesta Responder a este mensaje
#4 Alejandro Mesa
21/09/2006 - 18:08 | Informe spam
TatanMax,

Ahora si se me hace logico que se demore esa consulta.

- Cuantos indices tiene esa tabla?

Solo nos dices que la tabla tiene un indice por la columna [apellido]. Es
ese indice clustered o nonclustered, me inmagino que sera nonclustered.

- La tabla tiene una columna con propiedad "identity".

Tienes algun indice por esa columna, que tipo de indice es, clustered o
nonclustered?

Como ves todavia nos hace falta mas informacion.

Segun lo que nos dices, supongamos que la tabla solo tiene un indice
nonclustered por la columna [apellidos]. Entonces te dire que SQL Server no
debe estar usando ese indice del todo, puesto que la expresion "WHERE
Apellido Like '%abc%'" no es considerada como una expresion de busqueda,
haciendo que SQL Server tenga que recorrer todo el indice nonclustered,
operacion que consume tiempo y ademas despues debe ir a la tabla a leer la
data, por lo que posiblemente SQL Server este haciendo un recorrido completo
de la tabla directamente (sin usar el indice), osea recorriendo los 2
millones de registros para buscar los que machan.

Muestranos la estructura de la tabla, indices y restricciones, y si te es
prosible postea tambien el plan de ejecucion.


AMB

"TatanMax" wrote:

La tabla es simple, ni siquiera está relacionada, y la consulta es
SELECT * FROM tabla WHERE Apellido Like '%abc%'
El campo Apellido está indexado(con duplicados) y también hay un Id
autonumérico para cada apellido

Estoy tababajando con Sql server 2000 Enterprice

Gracias



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