Я запускаю эти команды в базе данных sqlite
sqlite3 data.db .dump > data.txt
cat data.txt | sqlite3 newdata.db
Размер файла newdata.db на 10% больше, чем data.db (для базы данных объемом 100 МБ с записями 400 КБ).Почему это так?
data.db
был создан с последовательными вставками и без удалений.Ничего сложного.Я установил следующие 2 PRAGMA при создании таблиц, но файл дампа не показывает их (вероятно, они сохраняются только при подключении).
PRAGMA page_size = 4096;
PRAGMA cache_size = 72500;
Пример содержимого data.txt
.
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE urltable (url TEXT NOT NULL, PRIMARY KEY url);
INSERT INTO "urltable" VALUES('http://www.example.com/page1.html');
...
COMMIT;