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

Registrado: 22 Abr 2005Mensajes: 13
|
Publicado: Mar 06 Dic, 2005 1:59 pm Asunto: Ayuda Con Sql |
|
|
Hola amigos del foro,
El problema que yo tengo es el siguiente:
Estoy haciendo una consulta a una tabla .DBF de fox que contiene 194230 registros, utilizando un TQuery pero al ejecutar el programa esta consulta se vuelve super lenta.... tanto asi que parece que se cuelga el sistema.
Que podra ser?
Gracias por las respuetas...
Joe. |
|
| Volver arriba |
|
 |
Touchsoftwares Master


Registrado: 16 Dic 2002Mensajes: 869Ubicación: MEXICO Playa del Carmen
|
Publicado: Mar 06 Dic, 2005 10:44 pm Asunto: |
|
|
Longitud Registo?
Esta en un servidor o es local?
ancho de banda 10mb,100mb?
Selecciona solo los registros y campos que te sirvan y hazlos de READ ONLY
haz cambio usando otro query con instrucciones UPDATE de sql _________________ Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc
http://www.touchsoftwares.com |
|
| Volver arriba |
|
 |
joserojas Cdt

Registrado: 22 Abr 2005Mensajes: 13
|
Publicado: Mie 07 Dic, 2005 1:37 am Asunto: Sigo con el problema... |
|
|
Gracias TouchSoftwares,
te explico:
Tengo una tabla local en fox, esta contiene 200.000 registros, esta la indexe por tres campos de la siguiente forma:
campo1+campo2+campo3, que en fox se puede hacer.
en el programa que estoy haciendo, le paso al query los tres parametros de tipo string. y es ahi donde se ralentiza o tarda mas de lo debido.
Gracias por la ayuda.
Joe. |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Jue 08 Dic, 2005 11:03 am Asunto: |
|
|
¿Podrías copiarnos aquí la sentencia SQL que usas? Sólo con lo que dices no tiene mucho sentido que se ralentice. Con tablas de similar número de registros, e incluso mayores (unos 450.000), no suelo tener problemas más allá de los que implica el propio equipo. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
joserojas Cdt

Registrado: 22 Abr 2005Mensajes: 13
|
Publicado: Jue 08 Dic, 2005 9:40 pm Asunto: Sql lento |
|
|
Gracias de antemano querido Angel.
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:
| Código: |
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 |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Vie 09 Dic, 2005 10:14 am Asunto: |
|
|
A lo mejor te digo una tontería. Por lo que veo en el query que has montado además de hacer el SELECT correspondiente también ordenas el resultado; si tienes la tabla indexada, es más que probable que la claúsula ORDER BY no te haga falta. Además, incluye en la SELECT sólo los campos que verdaderamente te hagan falta. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
|