FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Append en tabla con mas de 100,000 registros
saludos
necesito saber que mecanismo a tomar en consideración para hacer un Append en tablas que pueden superar en corto tiempo los 100,000 registros. estoy consciente que es engorroso hacer append con estas cantidades de informaciones pero me gustaría saber o que me haga sugerencias de como hacer un insert o append optimo y rápido ya con estas cantidades de registros. utilizo delphi 7 + ODBC + Firebird 2.5 para capturar las informaciones, estoy sujeto a cualquier tipo de sugerencia. |
#2
|
||||
|
||||
Igual que si la tabla tuviera cinco registros o un millón:
En otras palabra, usa sentencias SQL de inserción, no uses componentes de tipo Table. // Saludos |
#3
|
|||
|
|||
si pero valla, sabes que si la tabla tiene un crecimiento de unos pocos registro mensuales y para llegar a una cantidad de 20,000 tardaría meses, no seria necesario complicarse mucho con un insert basado en SQL. pero ahora si es una aplicación de recogida de datos a nivel territorial de un país, valla creo que el Append seria un problema y pensé que existía alguna forma de optimizar el recorrido que hace el append o insert en toda la tabla. pero esta bien tendré que utilizar sentencias SQL lo único que seria un problemin para mi ya que no podría utilizar los componentes de enlace con los campos (TDbCombos, TDbLookup, TDbEdit, etc). nada tendré que re formular toda la aplicación para utilizarlo de esta forma.
muchas gracias roman por tu sabia respuesta. Última edición por ivantech fecha: 09-03-2010 a las 12:00:42. |
#4
|
||||
|
||||
Cita:
Cita:
Es decir, puedes hacer un:
Y mostrar eso en un DBGrid o en componentes como los que comentas sin problemas; Lo que no debes hacer es conectar esos componentes a un origen de datos que te devuelva muchos registros. Para eso están los TOP, los FILTROS,... Vigila sobre todo los índices que utilizas y revisa sobre el trabajo con cursores en la parte cliente y en la parte servidor.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
||||
|
||||
Otra forma de evitar ir hasta el final sería hacer una ordenación Descendente de los registro (...Order by Campo Desc ) y ahí hacer la inserción del nuevo registro..
Por otro lado Delphi tiene un Magnífico componente que optimiza el trabajo en lo que se refiere a mostrar ,editar,modificar los registros..., estoy hablando del componente ClientDataSet, en éste hilo puedes ver más información. Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
enviar registros de una tabla a un campo de otra tabla a travez de ciclo IF en MYSQL | CLUSTERBIT | SQL | 8 | 23-10-2008 15:50:03 |
Como sabe un query a que tabla quiero hacer append? | coso | Conexión con bases de datos | 4 | 14-06-2008 20:26:11 |
uso de append en tabla | macro32 | Conexión con bases de datos | 5 | 21-04-2008 19:35:04 |
Porque lee la tabla completa al hacer append? | judit25 | Conexión con bases de datos | 2 | 31-05-2006 16:20:37 |
Seleccionar registros en una tabla, envio, e insercion en otra tabla!! | EfrainSanmiguel | Conexión con bases de datos | 3 | 21-10-2004 01:12:43 |
|