![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Claro a mi me gustaría saber como hacer para decirle al IBQuery que no me traiga todos los registros sino solamente los que se muestran o los primeros mil .
|
|
#2
|
||||
|
||||
|
Saludos.
Para limitar los registros en Firebird tienes FIRST desde la 1.5. En Interbase/Firebird tienes SKIP y si no me equivoco creo que desde Interbase 6.5 tienes ROWNUM o ROWS. Lo que si te aconsejo como lo hicieron anteriormente es que te cambies para Firebird 2.0. Hasta luego.
__________________
Gracias, Rolphy Reyes |
|
#3
|
|||
|
|||
|
Yo tengo los indices creados y utilizo firebird 1.5. El tema es que yo desde el EMS Firebird Manager ejecuto el store procedure y no tarda casi nada y lo hago desde delphi y tarda mucho. Ustedes dicen que con firebird 2.0 anda mejor??
|
|
#4
|
|||
|
|||
|
Cuando ejecutas un SP con algún administrador pasas parámetros directamente, pero cuando lo haces con delphi, necesariamente requieres de enviar esos parámetros, me pregunto si no hay alguna rutina que está generando el retrazo que comentas y no necesariamente al ejecutar el SP.
Digo, solo estoy hablando al aire, pero si nos ayudas mostrando lo que estas haciendo sería mucho mejor. Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#5
|
|||
|
|||
|
Hola, lo que tengo dentro del SP un for que recorre un select y dentro de este for hago algunos calculos, pero algo debe estar pasando porque 10000 registros es muy poco
|
|
#6
|
|||
|
|||
|
lo que anda lento parece ser es que tengo dentro del for una consulta asi
select max(id) from tabla where (estab = :estab) and (doc = :doc) into :maxid; el problema es con el max me parece que me pueden decir |
|
#7
|
|||
|
|||
|
Yo lo que creo es una combinacion de sentencias la que te hace lenta la consulta, he recreado tu select en una base con 20,000 registros y es de inmediata la respuesta tanto en IBExpert como en Delphi.
Yo insisto en que si no muestras tu SP completo es difícil ayudar, pero noto cierta renuencia de tu parte a hacerlo. Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#8
|
|||
|
|||
|
Cita:
De todas formas es probable que lo puedas acelerar mas: ¿ seguro que tienes creado un indice "DESCENDENTE" para el campo ID de la tabla ? Un max(ID) para que sea rapido exige un indice DESCENDENTE sobre el campo ID, no sirve la clave primaria ni un indice normal ascendente (estos solo valen para acelerar la funcion MIN). Asegurate de usar el ibconsole o cualquier otro programa para probar las queries y mirar el tiempo que tardan y el PLAN que se genera para saber si se esta usando algun indice si pone PLAN (TABLA NATURAL) malo malo, no hay ningun indice que se pueda usar para acelerar la consulta. Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Muy lento Sql | IVAND | SQL | 8 | 27-01-2010 03:59:52 |
| Prepare lento en Firebird.. y en MySQL?? | xander | MySQL | 11 | 01-11-2006 03:02:36 |
| ADO lento | CHiCoLiTa | Conexión con bases de datos | 6 | 28-07-2004 17:59:46 |
| MDI lento | tomasgarcia | OOP | 1 | 27-07-2004 20:28:05 |
| lento | carlomagno | Firebird e Interbase | 4 | 02-07-2004 13:48:08 |
|