USO DE INDICES EN TABLAS PARADOX
Publicado por Marina (64 intervenciones) el 27/04/2002 15:37:15
Hola a todos!
Tengo un gran dilema. Trabajo con Paradox y querys, estoy desarrollando una aplicación para trabajar en red.
Tengo indice primario e índices secundarios.
Lo que me sucede es que al poner una instrucción SQL que utilice el índice primario es rápida, cuando la instrucción utiliza el índice secundario es muy muy lento, y exactamente igual de lento cuando no se utiliza ningún índice. Entonces cuál es la ventaja de tener índices secundarios si el tiempo de demora es igual a cuando no los tengo?
Ejemplo: (sobre una tabla de 70000 registros)
SELECT * FROM CLIENTES ORDER BY CODIGO -> Este es el campo del índice primario, es instantáneo
SELECT * FROM CLIENTES ORDER BY NOMBRE -> Este es el campo del índice secundario, demora 2 minutos
SELECT * FROM CLIENTES ORDER BY ZONA -> Este campo no está en ningún índice, demora 2 minutos
Lo mismo ocurre si uso una instrucción con WHERE o realizo un SUM
Existe alguna forma de activar el índice secundario?
Yo he leído que los querys, cuando existe un índice lo aprovechan, o esto es solo válido para hacer LOCATE y no para la ejecución de sentencias SQL?
Lo que estoy haciendo es configurar las propiedades del Query (Requestlive en true, porque descubrí que es más rápido), escribo en la propiedad SQL la sentencia SQL correspondiente y luego hago Open del query. Existe algo que pueda hacer para decirle al query que utilice los índices? O simplemente la solución para Paradox es usar Tablas si la cantidad de registros es considerable.
Tener en cuenta que la cantidad de registros que puedo tener en una tabla puede ser hasta 170000
Desde ya much
Tengo un gran dilema. Trabajo con Paradox y querys, estoy desarrollando una aplicación para trabajar en red.
Tengo indice primario e índices secundarios.
Lo que me sucede es que al poner una instrucción SQL que utilice el índice primario es rápida, cuando la instrucción utiliza el índice secundario es muy muy lento, y exactamente igual de lento cuando no se utiliza ningún índice. Entonces cuál es la ventaja de tener índices secundarios si el tiempo de demora es igual a cuando no los tengo?
Ejemplo: (sobre una tabla de 70000 registros)
SELECT * FROM CLIENTES ORDER BY CODIGO -> Este es el campo del índice primario, es instantáneo
SELECT * FROM CLIENTES ORDER BY NOMBRE -> Este es el campo del índice secundario, demora 2 minutos
SELECT * FROM CLIENTES ORDER BY ZONA -> Este campo no está en ningún índice, demora 2 minutos
Lo mismo ocurre si uso una instrucción con WHERE o realizo un SUM
Existe alguna forma de activar el índice secundario?
Yo he leído que los querys, cuando existe un índice lo aprovechan, o esto es solo válido para hacer LOCATE y no para la ejecución de sentencias SQL?
Lo que estoy haciendo es configurar las propiedades del Query (Requestlive en true, porque descubrí que es más rápido), escribo en la propiedad SQL la sentencia SQL correspondiente y luego hago Open del query. Existe algo que pueda hacer para decirle al query que utilice los índices? O simplemente la solución para Paradox es usar Tablas si la cantidad de registros es considerable.
Tener en cuenta que la cantidad de registros que puedo tener en una tabla puede ser hasta 170000
Desde ya much
Valora esta pregunta


0