Заявление CHECKPOINT
Заявление CHECKPOINT синхронизирует данные в журнале предварительной записи (WAL) с файлом данных базы данных. Для баз данных в оперативной памяти это заявление выполнится без эффекта.
Примеры
Синхронизировать данные в базе данных по умолчанию:
CHECKPOINT;
Синхронизировать данные в указанной базе данных:
CHECKPOINT file_db;
Прервать любые выполняемые транзакции для синхронизации данных:
FORCE CHECKPOINT;
Синтаксис
Операции с контрольными точками происходят автоматически в зависимости от размера WAL (см. Настройка). Это заявление предназначено для ручных действий с контрольными точками.
Поведение
Команда CHECKPOINT по умолчанию завершится неудачно, если существуют какие-либо выполняемые транзакции. Включение FORCE прервет любые транзакции и выполнит операцию с контрольной точкой.
Также см. связанный PRAGMA параметр для дальнейшей модификации поведения.
Освобождение места
При выполнении контрольной точки (автоматической или любой другой) место, занимаемое удаленными строками, частично освобождается. Обратите внимание, что это не удаляет все удаленные строки, а скорее объединяет группы строк, имеющие большое количество удалений вместе. В текущей реализации это требует удаления примерно 25% строк в смежных группах строк.
При работе в режиме оперативной памяти создание контрольной точки не оказывает никакого влияния, поэтому оно не освобождает место после удалений в базах данных оперативной памяти.
Предупреждение Заявление
VACUUMне инициирует удаление вакуума и, следовательно, не освобождает место.
© Copyright 2018–2024 Stichting DuckDB Foundation
Licensed under the MIT License.
https://duckdb.org/docs/sql/statements/checkpoint.html