Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

QUIEN PUEDE AYUDARME

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: QUIEN PUEDE AYUDARME Responder citando

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
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

¿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
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Sigue el problema.. Responder citando

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
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Ayuda Urgente. Responder citando

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.
Código:
Código:
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

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
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Gracias Responder citando

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
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.