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

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

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

1 ответов


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

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

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

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

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

смысл auto_vacuum является постоянной прагмой, или

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

смысл cache_size является временным.

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