programacion - importar base de datos sqlite android studio
Cómo copiar rápidamente la tabla de una base de datos a otra (2)
Tengo una base de datos con una tabla y otra base de datos. Necesito copiar esta tabla de la primera base de datos (con tabla simple) a la segunda. (En la segunda base de datos debe ser la tabla fts3). Entonces, puedo abrir ambas bases de datos, crear nuevas fts3 en la segunda base de datos y copiar todos los datos de la primera a la segunda a través de seleccionar -> insertar consultas. ¿Pero hay otras formas de hacerlo más rápido y mejor?
Bueno, sí, esa es la mejor manera. Crear tabla y luego insertar los datos:
INSERT INTO `toDB`.`tableName` SELECT * FROM `fromDB`.`tableName`
Por lo que sé, la metodología que describió (es decir, INSERT INTO db2.tbl SELECT * FROM db1.tbl
) generalmente debería ser la más eficiente.
Lo que puedes hacer es modificar sqlite para hacerlo más rápido. Lo primero que se le ocurre es desactivar el registro en diario (normalmente peligroso, pero debe ser aceptable en su escenario ya que todavía tiene un original de los datos):
pragma PRAGMA journal_mode=OFF:
También puede desactivar el pragma synchronous
(también peligroso):
PRAGMA synchronous=OFF;
Hay uno o dos pragmas más con los que puedes jugar que podrían marcar la diferencia, pero creo que los dos que menciono tendrán el mayor impacto.
Asegúrese de restaurar esos pragmas a sus valores originales después de la copia.