Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   como cuento los reg. de un query? (https://www.clubdelphi.com/foros/showthread.php?t=11706)

cmena 23-06-2004 02:46:50

como cuento los reg. de un query?
 
hola:
hago un select como cuento los reg del query?
estoy dando mis primeros pasos por sql
gracias

Ruben_Cu 23-06-2004 03:12:55

Hola cmena, si ya tienes el resultado de tu query puedes usar la propiedad RecordCount del DataSet e implementarla así:
Código:

Edit1.Text:=IntToStr(TuQuery.RecordCount);
En el Edit1 aparecerá la cantidad de registros devuelto por tu condición de busqueda.
Saludos

jachguate 23-06-2004 03:44:16

Hola.

Un método que podria ser mas eficiente (dependiendo de la cantidad de registros devueltos por tu query original), es simplemente lanzar un Select count(*), con la misma clausula from y where de tu primer query.

De esta forma evitas que los registros viajen al cliente, y el servidor aprovechará al máximo los indices y otros recursos disponibles para contarlos.

Si solo son unos cuantos registros... digamos no mas de mil, no veo mucha ventaja en mi método, con lo que el del cubano Rubén Acosta sigue siendo válido.

Hasta luego.

;)

cmena 23-06-2004 18:38:23

count
 
hola :
ejecute el count sobre 12.000 registros igual se demora como 3 minutos
el count lo podria hacer sobre el query? o habria otra forma para mas rapidez, este se demora igual que la opcion propuesta por el cubano.
estoy trabajando con dbf/cdx y un motor advantage.

Cita:

Empezado por jachguate
Hola.

Un método que podria ser mas eficiente (dependiendo de la cantidad de registros devueltos por tu query original), es simplemente lanzar un Select count(*), con la misma clausula from y where de tu primer query.

De esta forma evitas que los registros viajen al cliente, y el servidor aprovechará al máximo los indices y otros recursos disponibles para contarlos.

Si solo son unos cuantos registros... digamos no mas de mil, no veo mucha ventaja en mi método, con lo que el del cubano Rubén Acosta sigue siendo válido.

Hasta luego.

;)


jachguate 23-06-2004 19:46:38

Te sugiero que leas la documentación de tu motor para conocer sus capacidades al hacer joins u otras operaciones que involucre tu sentencia Select. Te se decir que con Oracle, teniendo los indices necesarios, una sentencia que involucre unas cuantas tablas y que cuente unos 12,000 registros no tardaría mas que unos 2 o 3 segundos.

Como ves, ya eso está fuera del alcance de delphi... depende del motor.

Hasta luego.

;)

cmena 23-06-2004 22:40:39

count
 
Cita:

Empezado por jachguate
Te sugiero que leas la documentación de tu motor para conocer sus capacidades al hacer joins u otras operaciones que involucre tu sentencia Select. Te se decir que con Oracle, teniendo los indices necesarios, una sentencia que involucre unas cuantas tablas y que cuente unos 12,000 registros no tardaría mas que unos 2 o 3 segundos.

Como ves, ya eso está fuera del alcance de delphi... depende del motor.

Hasta luego.


;)

juan me olvide de decir que dentro del select tengo una subconsulta, no saldria mas rapido hacer un select count sobre el anterior query? se puede?

jachguate 24-06-2004 04:18:57

Depende de la "naturaleza" de la subconsulta.. dado que no publicas la sentencia, se me hace dificil decirte...


La franja horaria es GMT +2. Ahora son las 05:02:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi