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