android - 如何快速将表从一个数据库复制到另一个数据库

标签 android sqlite fts3

我有一个数据库,一个表和另一个数据库。我需要将这个表从第一个数据库(带有简单表)复制到第二个。 (在第二个数据库中,它应该是 fts3 表)。因此,我可以打开两个数据库,在第二个数据库中创建新的 fts3 并通过选择 -> 插入查询将所有数据从第一个复制到第二个。但是有没有其他方法可以更快更好地做到这一点?

最佳答案

据我所知,您描述的方法(即 INSERT INTO db2.tbl SELECT * FROM db1.tbl)通常应该是最有效的。

您可以做的是调整 sqlite 以使其更快。首先想到的是禁用 journaling (通常是危险的,但在您的场景中应该是可以接受的,因为您仍然拥有原始数据):

pragma PRAGMA journal_mode=OFF:

您也可以关闭 synchronous pragma (也很危险):

PRAGMA synchronous=OFF;

还有一两个你可以使用的编译指示可能会有所不同,但我认为我提到的两个会产生最大的影响。

确保在复制后将这些编译指示恢复为原始值。

关于android - 如何快速将表从一个数据库复制到另一个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10371446/

相关文章:

java - 从 Android 发送 HttpPost 请求,从 PHP 读取 Post

java - Android 中的 SQLite 替换和外键

python - 如何在 Windows 上使用 python2.7 设置 FTS3/FTS4

android - 单击按钮时如何打开对话框?

android - gradle无法解决Android项目的依赖关系

ios - 如何从服务器获取数据并安装在sqlite中

python + sqlite3 : using IS NOT in a join query

sqlite - SQLite常规表和fts表

android - SQLite:大表中的高效子字符串搜索

java - 从 java 到 kotlin 的 android 应用程序中的 Intent 问题