Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-08-2004
Walterdf Walterdf is offline
Miembro
 
Registrado: may 2003
Ubicación: Buenos Aires
Posts: 152
Poder: 21
Walterdf Va por buen camino
Consulta muy lenta

Buenas
Estoy programando una aplicacion pero para que se entienda voy a simplifacarla en un ejemplo mas comun.
En mi aplicacion tengo lo siguiente:
1) Una base de datos (Paradox) con los campos:
provincia
localidad
nombre

2) Tres querys atadas entre si que muestran:
1ra.) provincia
2da.) localidad filtrada por provincia (atada a la query1)
3ra.) nombre filtrada por provincia+localidad (atada a la segunda)

3) Tres dbcombobox que seleccionan:
1ro.) campo provincia
2do.) localidad
3ro.) nombre.

Mi problema es que a medida que voy haciendo busquedas se va poniendo cada vez mas lento al desplegar los dbcombobox.

La forma en que até las querys es poniendo en el SQL String lo siguiente:
1ra) Select distinct provincia from "base.db" order by provincia.

2da) Select distinct localidad, provincia from "base.db" where provincia=rovincia order by localidad.
DataSource: Datasource1.

3ra) Select distinct nombre, localidad, provincia from "base.db where provincia=rovincia and localidad=:localidad order by nombre. Datasource2

Qué es lo que estoy haciendo mal?
Muchas gracias.
Responder Con Cita
  #2  
Antiguo 24-08-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
¿Están indexados los campos por los que estas filtrando?... ¿Existe algún índice combinado?
Sucede que si la tabla tiene una gran colección de datos y estos no están indexados, el motor se verá obligado a consultar uno por uno los registros para encontrar los coincidentes, y esto demorará la consulta dependiendo de la cantidad de datos de la tabla. Otro tema es la estructura de los índices, por ejemplo si tenemos un índice por provincia y otro por localidad y ninguno mas, y filtramos por ambos campos, al motor solo le servirá uno de estos índices y depende de cada motor como decirle cual tome primero, por eso si siempre va a haber búsquedas combinadas es conveniente pensar bien el diseño de los índices.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 25-08-2004
Walterdf Walterdf is offline
Miembro
 
Registrado: may 2003
Ubicación: Buenos Aires
Posts: 152
Poder: 21
Walterdf Va por buen camino
Muchas gracias por tu respuesta!!!
La verdad es que la base no está indexada, voy a probar por ese lado y cualquier cosa te cuento.
Un abrazo y gracias de nuevo.
Saludos

Walter
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:34:35.


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
Copyright 1996-2007 Club Delphi