| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
joserojas Cdt

Registrado: 22 Abr 2005Mensajes: 13
|
Publicado: Mar 06 Dic, 2005 12:27 am Asunto: QUIEN PUEDE AYUDARME |
|
|
Hola amigos,
Mi problema es el siguiente.
Tengo una tabla en fox de 200000 registros, luego en el data module cargo un Tquery y en su propiedad SQL le doy: select * from tabla
y cuando. voy a habiltar o a poner en true la propiedad ACTIVE que cuelga la consulta..
Jose. |
|
| Volver arriba |
|
 |
Buildero Master


Registrado: 23 Dic 2003Mensajes: 523Ubicación: Puebla, México
|
Publicado: Mar 06 Dic, 2005 1:36 am Asunto: |
|
|
¿Cómo estas realizando la conexión y con que driver?
Saludos _________________ Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida. |
|
| Volver arriba |
|
 |
joserojas Cdt

Registrado: 22 Abr 2005Mensajes: 13
|
Publicado: Mie 07 Dic, 2005 1:40 am Asunto: Sigue el problema.. |
|
|
Gracias Buildero,
la tablas es de formato .dbf de visual fox, es local y esta conectado el driver de foxpro del mismo dbengine de builder.
la consulta la hago con un sql que recive 3 parametros desde el programa y es ahi donde se ralentiza o tarde mas de lo debido.
Gracias por la ayuda.
Joe. |
|
| Volver arriba |
|
 |
Buildero Master


Registrado: 23 Dic 2003Mensajes: 523Ubicación: Puebla, México
|
Publicado: Mie 07 Dic, 2005 3:11 am Asunto: |
|
|
A ciencia cierta es dificil ayudarte... ¿puedes agregar parte de tu código?
Saludos _________________ Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida. |
|
| Volver arriba |
|
 |
joserojas Cdt

Registrado: 22 Abr 2005Mensajes: 13
|
Publicado: Vie 09 Dic, 2005 1:57 pm Asunto: Ayuda Urgente. |
|
|
Gracias Builderol.
Mira te explico claramente.
tengo un form donde introduzco 3 datos: apellido paterno, apellido materno, nombre en Edit1, Edit2, Edit3 respectivamente.
luego tengo un boton que dice seleccionar el cual tiene el siguiente codigo:
DataModule1->Query1->Close();
DataModule1->Query1->Params->ParamByName("ap")->AsString=Edit1->Text;
DataModule1->Query1->Params->ParamByName("am")->AsString=Edit2->Text;
DataModule1->Query1->Params->ParamByName("no")->AsString=Edit3->Text;
DataModule1->Query1->Open();
y el query relacionado a Query1 es:
Código:
select * from pe2005
where appat like :ap and apmat like :am and nombres like :no
order by appat, apmat
la tabla es .dbf de visual fox, indexe los campos appat, apmat, nombres de la siguiente forma:
appat+apmat+nombres.
solo eso.. y asi es que se vuelve lenta la consulta.
espero me puedas ayudar. Gracias.
Joe. |
|
| Volver arriba |
|
 |
juanma Cmdr

Registrado: 17 Nov 2005Mensajes: 127Ubicación: Almeria - España
|
Publicado: Vie 09 Dic, 2005 4:12 pm Asunto: |
|
|
En mi opinión va a ser dificil mejorar la velocidad del Select, ya que el like esta buscando en el campo de forma parcial, supuestamente es eso lo que quieres ya que si busca coincidencia exacta (que si puedes optimizar) usarias el =.
Revisa un poco lo que realmente quieres buscar ya que lo mismo puedes utilizar un rango del 'appat' como por ejemplo los que comiencen por 'M' ya que con los indices correspondientes si puedes optimizar las consultas. |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Sab 10 Dic, 2005 4:57 pm Asunto: |
|
|
Bien 2 cosas
1. usa lo que te dicen en el post de arriba, de la siguiente manera
| Código: | select * from pe2005
where appat = :ap and apmat = :am and nombres = :no
order by appat, apmat |
2 o bien usa la siguiente consulta
| Código: | select * from pe2005
where appat = :ap
order by appat, apmat |
Cualquiera de las dos te trae los registros.
si quieres un registro espesifico. entonces solo busca por el nombre _________________
 |
|
| Volver arriba |
|
 |
joserojas Cdt

Registrado: 22 Abr 2005Mensajes: 13
|
Publicado: Sab 10 Dic, 2005 11:21 pm Asunto: Gracias |
|
|
Cesar,
Debo decirlo, gracias por tu colaboracion y a todos del foro.
probe el codigo y mejoro mucho la rutina de busqueda.
Gracias...
Joe |
|
| Volver arriba |
|
 |
|