sqlite3コマンドライン呼び出しでPRAGMAを指定する方法は?

sqlite3コマンドライン呼び出しでPRAGMAを指定する方法は?

次のSQLiteファイルを作成します。

sqlite3 output.db < myinserts.sql

残念ながら、この作業には数時間かかりますので、次のPRAGMAを使用して速度を上げたいと思います。

PRAGMA synchronous=OFF
PRAGMA count_changes=OFF
PRAGMA journal_mode=MEMORY
PRAGMA temp_store=MEMORY

質問:コマンドラインでどのように設定しますか?
これはスクリプト用であるため、インタラクティブモードを必要とせず、単一のコマンドラインですべての操作を実行したいと思います。

ベストアンサー1

PRAGMAをエコーし​​てからcatを使用してSQLに追加できます。

echo "PRAGMA synchronous=OFF;PRAGMA journal_mode=OFF;PRAGMA temp_store=MEMORY;" | cat - myinserts.sql | sqlite3 output.db

メモリにファイルを追加する他の方法については、次を参照してください。https://www.cyberciti.biz/faq/bash-prepend-text-lines-to-file/

おすすめ記事