Estoy tratando de insertar una gran cantidad de registros (en millones) en una base de datos SQLite. Los datos se leen desde una secuencia de archivos (C++). Si comienzo una sola transacción, realizo todas las de las inserciones y luego confirmo la transacción, solo obtengo un porcentaje muy pequeño de registros realmente insertados en mi base de datos.Número de transacciones de SQLite ¿Límite?
Las que están insertadas parecen aleatorias: realmente no puedo ver ningún patrón para cuáles se insertan y cuáles se excluyen. Sin embargo, si confirmo y luego comienzo la transacción nuevamente después de algo así como 2000 inserciones, no tengo este problema y todos los registros se insertan, aunque el proceso es mucho más más lento. Entonces ...
¿Hay un límite estricto de cuántas inserciones se pueden hacer dentro de una transacción? ¿Hay alguna manera de cambiar este límite?
Tengo también este problema. Solo voy a publicar esto aquí para la posteridad. Si se encuentra con esto, primero debe intentar agrupar solo 1k-2k inserciones por transacción para ver si este es realmente el problema. –