Когда использовать прагмы на sqlite?

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

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

7
задан Sein Kraft 21 May 2010 в 15:46
поделиться

1 ответ

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

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

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

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

. Невозможно включить или отключить автоматический вакуум после создания таблицы.

означает, что auto_vacuum - это постоянная директива, или

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

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

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

17
ответ дан 6 December 2019 в 11:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: