Вопрос по sqlite, android – Как быстро скопировать таблицу из одной базы данных в другую

2

У меня есть одна база данных с одной таблицей и другой базой данных. Мне нужно скопировать эту таблицу из первой базы данных (с простой таблицей) во вторую. (Во второй базе данных это должна быть таблица fts3). Итак, я могу открыть обе базы данных, создать новый fts3 во второй базе данных и скопировать все данные из первой во вторую с помощью select - & gt; вставить запросы. Но есть ли другие способы сделать это быстрее и лучше?

Ваш Ответ

2   ответа
5

Насколько я знаю методологию, которую вы описали (т.е.INSERT INTO db2.tbl SELECT * FROM db1.tbl) как правило, должен быть наиболее эффективным.

Что вы можете сделать, это настроить sqlite, чтобы сделать это быстрее. Первое, что приходит в голову, это отключитьжурналирование (обычно опасно, но должно быть приемлемо в вашем сценарии, поскольку у вас все еще есть оригинал данных):

pragma PRAGMA journal_mode=OFF:

Вы также можете отключитьsynchronous pragma (также опасно):

PRAGMA synchronous=OFF;

Есть еще одна или две прагмы, с которыми вы можете поиграть, которые могут изменить ситуацию, но я думаю, что две упомянутые мною окажут наибольшее влияние.

Обязательно восстановите исходные значения этих прагм после копирования.

3

INSERT INTO `toDB`.`tableName` SELECT * FROM `fromDB`.`tableName` 
HI @bArmageddon У меня есть одна база данных sqlite в моей SDCard, и я хочу скопировать таблицу в базу данных моего приложения в Android Это возможно ??

Похожие вопросы