Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   como no cargar querys hasta el momento del uso (https://www.clubdelphi.com/foros/showthread.php?t=39560)

zcatzz 24-01-2007 02:03:31

como no cargar querys hasta el momento del uso
 
Hola a todos otra vez..
Uso: Delphi 5, ados componentes e informix
Resulta que como les comente en otro foro tengo muchos querys en mi programa por la cantidad de busquedas y modificaciones a campos en diferentes tablas.. El problema es que el programa trabaja bien de manera local pero ya pasandola a no local el programa se vuelve sumamente lento por lo queme hizo pensar que eran la cantidad de querys que tengo..
Primero quise borrar un buen y tratar de reusar querys pero por mas que le muevo tratando de "limpiar todo" ahi me marca errores porque se sigue quedando con informacion de instrucciones sql anteriores.
POr lo que me hizo pensar que en vez de preocuparme en reultizar querys por que mejor trato de hacer alguna instruccion o cambiarle una propiedad a mis querys para que no se carguen hasta el momento que los use..

Obviamente siempre tengo su propiedad en false y cuando quiero utilizarlos lo hago de esta manera:
Código SQL [-]
 DModulo.QBuscar27.Active:=false;

      DModulo.QBuscar27.SQL.Clear;

      DModulo.QBuscar27.SQL.Text:='select distinct * from
 alumnos,tipodealumno,municipio,grados ' +

      'where tipodealumno.tipo_alumno=alumnos.tipo_alumno and
 alumnos.grado=grados.id_grado and ' +

      'alumnos.id_mpio=municipio.id_mpio and alumnos.matricula=:mat';
      DModulo.QBuscar27.Parameters.ParamByName('mat').Value:=BuscaMatricula.Text;
      DModulo.QBuscar27.Active:=true;

pero no se si puedo cambiarle alguna opcion al query aparte de active:=false en la que no cargue para nada los objetos y yo los cargue cuando los vaya a utilizar.

Gracias de antemano por sus comentarios y consejos

Lepe 24-01-2007 17:24:45

Si en local funciona bien, entonces no es problema de la cantidad de querys, sino de la cantidad de datos que pides en esas querys.

La lentitud también está en crear índices por los que necesitas buscar y/u ordenar los datos (ORDER BY) de las consultas, y como ya te dijo roman, por aquellos campos de union de las tablas, es decir, los campos que relacionan una tabla con otra.

Por supuesto que una masiva e indiscriminada creación de índices también afecta al programa (sobre todo a las inserciones y borrados) ya que se tiene que actualizar los índices.

No hemos tenido en cuenta la propia red, igual es el cuello de botella, podrías copiar un archivo grande por la red para ver si tarda mucho o no.

Saludos


La franja horaria es GMT +2. Ahora son las 15:15:21.

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