1 つのテーブルと別のデータベースを持つ 1 つのデータベースがあります。この 1 つのテーブルを最初のデータベース (単純なテーブルを含む) から 2 番目のデータベースにコピーする必要があります。(2 番目のデータベースでは、fts3 テーブルである必要があります)。したがって、両方のデータベースを開き、2 番目のデータベースに新しい fts3 を作成し、select -> insert クエリを介して最初のデータベースから 2 番目のデータベースにすべてのデータをコピーできます。しかし、それをより速く、より良くする他の方法はありますか?
質問する
4604 次
2 に答える
5
私の知る限り、あなたが説明した方法論 (すなわちINSERT INTO db2.tbl SELECT * FROM db1.tbl
) は一般的に最も効率的です。
あなたができることは、それをより速く行うためにsqliteを微調整することです。最初に頭に浮かぶのは、ジャーナリングを無効にすることです(通常は危険ですが、元のデータがまだ残っているため、シナリオでは許容できるはずです)。
pragma PRAGMA journal_mode=OFF:
synchronous
プラグマをオフにすることもできます(これも危険です):
PRAGMA synchronous=OFF;
違いを生むプラグマが他にも 1 つまたは 2 つありますが、私が言及した 2 つが最も大きな影響を与えると思います。
コピー後、これらのプラグマを必ず元の値に戻してください。
于 2012-04-29T10:42:02.213 に答える
3
そうです、それが最善の方法です。テーブルを作成し、データを挿入します。
INSERT INTO `toDB`.`tableName` SELECT * FROM `fromDB`.`tableName`
于 2012-04-29T10:38:13.037 に答える