mejorar el tiempo de consulta
hola,
Estoy realizando un programa de gestion de una base de datos. Tengo una consulta que tarda demasiado en realizarse: "Select distinct * from H, S, P, A, X where P.codarea=A.codarea and P.codsector=A.codsector and A.codsector=X.codsector and P.codproyecto=S.codproyecto and P.codproyecto=H.codproyecto and H.codproyecto=S.codproyecto AND H.codsubpro=S.codsubpro AND H.USUARIO = '" + frmEntrada->cmbNombrePersona->Text + "' AND H.FECHA >= '" + fechaInferior + "' AND H.FECHA <= '" + fechaSuperior + "' ORDER BY H.FECHA DESC"; He pensado en crear una tabla puente con las condiciones y luego usar esta nueva tabla para implementar las condiciones de mi consulta, pero la verdad es que no tengo muy claro como hacerlo. ¿Alguna sugerencia? |
Hola kourgan,
¡¡¡¡bienvenido al foro!!! Una primera sugerencia es que uses las etiquetas (en este caso las SQL) para que el código se vea más ordenado y sea más fácil de leer y entender. Sobre el uso de etiquetas te puedes informar aquí. Otra cosa, te recomiendo que en vez de hacer todo esto: Código:
from H, S, P, A, X where Y lo último, ¿realmente necesitas obtener todos los campos (*)? Honestamente, no sé cuánto pueda tener que ver en la demora el DISTINCT *, pero me da por pensar que tienen mucho que ver también. PS Sobre las etiquetas SQL, no las encontré yo tampoco, así que imagino que estarán temporalmente fuera de servicio. ;) |
Por cierto, podrías indicar la estructura de las tablas, asi te podríamos ayudar mejor. Hay algo ahí que no veo claro...
|
Hola también puedes crear indices, para agilizar el proceso
saludos cordiales. |
Cita:
Pronto tendremos de vuelta a [sql] y [delphi] Hasta luego. ;) |
Hola, gracias por vuestra ayuda.
Sobre lo de crear índices, ¿tendría que crear uno por cada tabla, verdad?¿que tipo de índices serían? Como tengo condiciones sobre varios campos de las tablas no lo tengo muy claro. |
La franja horaria es GMT +2. Ahora son las 04:36:26. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi