Я пытаюсь выполнить массовую загрузку большого количества данных (5,5 миллиона строк) в файл базы данных SQLite.
Загрузка через INSERT кажется слишком медленной, поэтому я пытаюсь использовать инструмент командной строки sqlite3 и команду .import.
Это прекрасно работает, если я ввожу команды вручную, но я не могу на всю жизнь понять, как автоматизировать его с помощью сценария (файл .bat или сценарий python; я работаю на компьютере с Windows) .
Команды, которые я запускаю в командной строке:
> sqlite3 database.db
sqlite> CREATE TABLE log_entry ( <snip> );
sqlite> .separator "\t"
sqlite> .import logfile.log log_entry
Но ничто из того, что я пробую, не заставит это работать из файла bat или скрипта python.
Я пробовал такие вещи, как:
sqlite3 "database.db" .separator "\t" .import logfile.log log_entry
echo '.separator "\t" .import logfile.log log_entry' | sqlite3 database.db
Конечно, я могу сделать это как-нибудь?