La Web del Programador: Comunidad de Programadores
 
    Pregunta:  2234 - TIEMPO DE RESPUESTA EN CONSULTAS SQL
Autor:  David Arboleyda
Historia: Tengo la siguiente consulta en Fox 2.5 SELECT * FROM TABLA1 WHERE LLAVE IN (SELECT LLAVE FROM TABLA2) el tiempo de respuesta es de aprox 5 segundos y la misma consulta en Delphi 4 se tarda aprox 1 minuto con 15 segundos.

Mi pregunta es :
¿Como puedo hacerle para que en delphi me acelere mi tiempo de respuesta de esa consulta?

NOTA: He probado con el componente TQuery y el RXQuery.

Gracias !!!!

  Respuesta:  JOSE K
UTILIZA STORE PROCEDURE.

EXEC TABLA, TE REDUCE BASTENTE EL TIEMPO YA QUE NO ES LO MISMO EJECUTAR LA CONSULTA DESDE DELPHI QUE DE EL PROPIO SQL

  Respuesta:  Armando Solarte
Qué tal cambiando la consulta

SELECT * FROM TABLA1 WHERE LLAVE IN (SELECT LLAVE FROM TABLA2

por

SELECT * FROM TABLA1 T1, TABLA2 T2 WHERE T1.LLAVE = T2.LLAVE

Suerte!

  Respuesta:  Carlos Andres Pereira Vasquez
Hola!, lo que puedes hacer es usar dentro del query el comando /* +rule */ el cual obliga al query a utilizar los indices de las tablas.

ej.

Select /* +rule */ campo1, campo2....
from tabla1

Saludos

  Respuesta:  Hugo O H
Ya probaste con el método prepare, de TQuery???.... suele dar muy buenos resultados... ejecutalo antes de activar la consulta....