![]() |
![]() |
| 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
|
||||
|
||||
|
Que feo, tener que hacer un subquery para algo así. Por cierto el query que tiene el skip le va a salir a razón de lo mismo pues digamos que tienes 10 mil registros y los quieres ver de 100 en 100. En ese query te va a traer 9900 registros inicialmente, lo que casi es lo mismo que traer todos, curiosamente la consulta de los últimos registros será más rápida que la de los primeros pues cada vez iran quedando menos. Aunque funciona, no me parece muy óptimo que digamos.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
|
#2
|
||||
|
||||
|
Se puede hacer así:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
||||
|
||||
|
Si tienes una mejor solución porque no la pones, como dije Limit no existe en Firebird y por lo menos yo, no he encontrado ninguna función que se asemeje a Limit.
Cita:
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
|
#5
|
|||
|
|||
|
Gracias a todos, interesante haber generado un debate asi, pero hare ensayo a ver como me va.
|
|
#6
|
||||
|
||||
|
Pongo una pruebecita:
Base de datos firebird 1.5 de 495 Mbytes Tabla tbLineasMovimientosAlmacen con 35 campos y 396.964 registros Flamerobin en linux ubuntu 8.04 Select con todos los campos: select first 100 skip 100 * from TBLINEASMOVIMIENTOSALMACEN Resultado: PLAN (TBLINEASMOVIMIENTOSALMACEN NATURAL) Executing... Done. 406 fetches, 0 marks, 0 reads, 0 writes. 0 inserts, 0 updates, 0 deletes, 0 index, 200 seq. Delta memory: 1144 bytes. Total execution time: 0,370s Script execution finished.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal Última edición por Casimiro Noteví fecha: 23-06-2010 a las 22:33:12. |
|
#7
|
||||
|
||||
|
No te molestes caro, en todo caso no es culpa tuya sino del motor. Yo comento únicamente lo que pienso respecto a las diferencias entre motores, como se ve cada uno tiene un pie de donde cojear.
La solución de casimiro es la equivalente al "limit" que yo sugerí y como dice Jose Román, al final el ganador es él pues tiene mucha información para continuar con su proyecto. Egostar apunta algo interesante, desgraciadamente las diferencias en rendimiento no la sve uno mas que en tablas con millones de registros lo que por lo que he visto en el foro solo se da en unos pocos caso, casi siempre se trata aquí de proyectos de unos cuantos miles de registros. Donde algunos milisegundos no hace ninguna diferencia.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
|
#8
|
||||
|
||||
|
Pues
qué puedo decir?... Pareciera que es un tema de nunca acabar lo raro es que con tanto tiempo trabajando con delphi no se hayan dado cuenta que Delphi cuenta con un tremendo componente, precisamente para evitar y solucionar ese tipo de problemas que comenta nuestro amigo Jose Roman, que al propósito ya es la segunda vez que está preguntando lo mismo. , en esa ocacion le comenté las potencialidades del Componente TClientDataSet, supongo que quizás no se convenció de mi respuesta en aquella ocasión ![]() De todas manera cada uno saque sus concluciones, al fin y al cabo cada uno decide la forma de trabajar .Saludos... ![]()
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7 Última edición por rgstuamigo fecha: 25-06-2010 a las 00:03:49. |
|
#9
|
||||
|
||||
|
¿Pero el TClientDataSet necesita tener todos los datos en memoria o pueden ser leídos poco a poco?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#10
|
||||
|
||||
|
Pues para eso precisamente tiene la propiedad PacketRecords donde se puede definir la cantidad de registros que traerá desde el servidor.
![]() Si quieres más información, pues en el otro hilo en cuestion he puesto algunos enlaces muy pero muy interesantes. ![]()
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7 Última edición por rgstuamigo fecha: 25-06-2010 a las 00:04:26. |
|
#11
|
||||
|
||||
|
No había leído el otro hilo "ayuda con consulta"
![]() Los Tclientdataset los he usado alguna vez como tablas temporales en memoria, sé que son muy potentes, vi un video de ¿jachguate? donde se explicaban cosas muy interesantes. Pero, es que son tantas cosas para aprender, no da tiempo, todavía me siento un inútil analfabeto e inculto, puede que dentro de otros 25 años haya aprendido lo básico ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Cómo evitar ejecutar bloques en el IDE | Eyewitness | Varios | 9 | 03-08-2013 13:55:04 |
| Interconexion de bloques | astwin | OOP | 19 | 15-04-2009 18:50:31 |
| Generar bloques de números | Natasha Nortman | Varios | 8 | 30-03-2008 16:47:54 |
| Esquemas de bloques | david.rguez | Gráficos | 1 | 01-09-2007 01:05:01 |
| Bloques De Numeros Consecutivos | dany2006 | C++ Builder | 5 | 15-11-2006 22:06:16 |
|