Когда прагмы используются?
Когда база данных создается в первый раз или в каждом соединении с базой данных?
это зависит от прагмы быть использованным. из Полное руководство по SQLite , Конфигурация базы данных :
Многие прагмы имеют как временные, так и постоянные формы. Временные формы влияют только на текущий сеанс на время его существования. Постоянные формы хранятся в базе данных и влияют на каждую сессию.
или, говоря словами вашего вопроса: Временные формы используются при каждом подключении к базе данных, постоянные формы используются, когда база данных создается впервые .
документация прагмы явно не указывает, является ли прагма временной или постоянной . однако обычно говорится, что перед созданием каких-либо таблиц необходимо включить автоматическую очистку
. Невозможно включить или отключить автоматический вакуум после создания таблицы.
означает, что auto_vacuum
- это постоянная директива, или
Когда вы изменяете размер кеша с помощью директивы cache_size, изменение сохраняется только для текущего сеанса.
означает, что cache_size
является временным.
, поэтому лучше всего для ответа на свой вопрос внимательно прочитать документацию для вашей конкретной прагмы. в качестве альтернативы вы можете изучить исходный код прагмы (ищите ** PRAGMA [
, с учетом регистра).