Когда использовать прагмы на sqlite? - PullRequest
7 голосов
/ 21 мая 2010

Когда используются прагмы?

Когда база данных создается впервые или при каждом подключении к базе данных?

1 Ответ

17 голосов
/ 21 мая 2010

это зависит от используемой прагмы. от Полное руководство по SQLite , Конфигурация базы данных :

Многие прагмы имеют как временные, так и постоянные формы. Временные формы влияют только на текущий сеанс в течение всего времени его существования. Постоянные формы хранятся в базе данных и влияют на каждый сеанс.

или, по словам вашего вопроса: Временные формы используются при каждом подключении к базе данных, постоянные формы используются при первом создании базы данных .

документация по прагме явно не указывает, является ли прагма временной или постоянной . однако, это обычно говорит что-то вроде

автоматическое вакуумирование должно быть включено до создания любых таблиц. После создания таблицы невозможно включить или отключить автоматическое удаление вакуума.

означает auto_vacuum - это постоянная прагма, или

Когда вы изменяете размер кэша с помощью прагмы cache_size, изменение сохраняется только для текущего сеанса.

значение cache_size является временным.

поэтому лучше всего ответить на ваш вопрос, внимательно прочитав документацию по вашей конкретной прагме. Кроме того, вы можете изучить исходный код pragma (поиск по ** PRAGMA [ с учетом регистра).

...