una studio programacion para insertar hacer datos crear como comandos almacenamiento windows linux optimization sqlite configuration

windows - studio - ¿Consejos para optimizar una base de datos sqlite con más de un gig de datos en ella?



insertar datos en sqlite android studio (4)

¿Has leído las preguntas frecuentes sobre la optimización de SQLite (algunos años, pero aún así parece útil)?

No creo que 1 GB sea particularmente grande, incluso para SQLite. Ciertamente puede manejar bases de datos mucho más grandes de manera estable.

Estoy trabajando con una base de datos sqlite más grande que el promedio (para usar tanto en Windows como en Linux) y estoy buscando maximizar el rendimiento que obtengo. La base de datos se instalará en hardware básico junto con una interfaz gráfica de sqlite. Los usuarios a los que les entrego son expertos en SQL pero es poco probable que realicen sus propias optimizaciones (creación de índices, configuración de pragma, etc.), por lo que estoy ansioso por obtener el máximo rendimiento posible de la caja (para garantizar el uso máximo de los datos).

Un problema Windows parece acelerar la ejecución de las consultas mucho más que Linux y otra es que estoy menos familiarizado con el enfoque de sqlite para la indexación (en comparación con otras bases de datos como postgres).


Debería echar un vistazo a las "tareas programadas" y un script para "optimizar las tablas" todas las noches, tal vez incluso volver a crear sus índices. Hacerlo regularmente puede ahorrarle mucho tiempo y trabajo manual.


Una actualización: hemos tenido el mayor éxito con un ordenamiento más inteligente de los datos en el momento de la importación, una indexación agresiva (más del doble del tamaño del archivo db en el proceso), ajustes de ajuste en Windows para que XP se comporte más como un servidor que una computadora de escritorio, cambiando el orden de las uniones (no puede confiar únicamente en el optimizador) y midiendo su progreso mediante la creación de un conjunto de pruebas de rendimiento (solo un arnés para ejecutar consultas y tomar medidas.

La experiencia ha sido divertida y los usuarios finales están contentos y pueden trabajar con los datos.


Si está haciendo grandes importaciones de datos, encontré que la forma más eficiente era

  1. Ordena tus datos insertados preferiblemente en la secuencia de índice principal
  2. Use declaraciones preparadas (doh)
  3. Eliminar cualquier índice
  4. Inserte los datos a granel envueltos con transacciones (digamos 10,000 registros en un hit)
  5. Agrega tus índices de vuelta

también recuerde que sqlite aún no admite el operador or en la cláusula where. Es posible que pueda modificar las cosas desglosando la cláusula where para llegar a usar ands.