![]() |
Ayuda con Insercion lentisima en SQLite3
Hola amigos, gracias por leer el post. Me encuentro desarrollando una aplicacion para el envio de correos y estoy ahora programando un asistente de importacion que importa desde un archivo (txt, csv, etc.) hacia la BD. El gran problema es que la insercion esta lentisima. Aqui esta el codigo que he creado. Utilizo Delphi 7, ZeosDB 7 y SQLite3.
Por lo que estuve mirando SQLite es rapido cuando se agrupan las inserciones o sea que yo deberia hacer una consulta INSERT y agregar todos los valores pero tengo miedo pasarme y explotar la memoria de la PC. Por favor ayuda los que conocen del tema a ver de que forma puedo insertar rapido y seguro muchos registros en SQLite 3. |
Para empezar, quita ese:
|
Cita:
http://www.sqlite.org/faq.html#q19 Y en el caso de sqlite, es crucial hacer las operaciones CRUD que afecten muchos registros - exceptuando SELECT - en una transacción, ya que esta BD bloquea TODO EL ARCHIVO cuando se actualiza (otros motores bloquean solo la pagina, la tabla o el registro). Y quitar Application.ProcessMessages no afectara el desempeño de forma importante, mientras evitara que parezca "muerta" la app. Sin embargo, de ser una insercion realmente inmensa, es mejor usar un proceso asincronico o meterlo dentro de un thread separado (debes tomar en cuenta las limitaciones y configuraciones para acceder multi-thread sqlite http://www.sqlite.org/threadsafe.html) |
Entonces que solución le ves?. En la aplicación que estoy desarrollando se van a importar millones de registros o sea de lineas con correos para la BD.
Que me recomendarias hacer entonces una transaccion completade 100 en 100 o algo asi no c dime a ver que no se me ocurre nada ahora? |
Amigos mis disculpas si me estaba funcionando bien y super rapido pero el problema era que donde yo tenia
era := 1; ajjajajja ! |
La franja horaria es GMT +2. Ahora son las 21:23:49. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi