Сжатие таблицы
Функция
Сжатие (уплотнение) таблицы и упорядочивание её ROWID
после многочисленных операций удаления из нее записей.
Спецификация
::=
Синтаксические правила
-
< Имя таблицы >
должно ссылаться на базовую таблицу. -
< Имя таблицы >
не должно ссылаться на системную таблицу. -
Правом на сжатие таблицы обладает ее владелец или любой другой пользователь с привилегией на модификацию структуры таблицы (
ALTER
) и уровнем прав доступа к БДRESOURCE
.
Общие правила
-
Если таблица имеет столбец
AUTOROWID
, операция< сжатие таблицы >
не допускается. -
Если не задан модификатор
WAIT
(NOWAIT
), по умолчанию используетсяWAIT
. -
После удаления всех записей и сжатия таблицы для столбцов
AUTOINC INT
иAUTOINC SMALLINT
значение начинает наращиваться от заданного какINITIAL
при создании таблицы, а дляAUTOINC BIGINT
– от 1. -
После сжатия таблицы выполняется перестройка индекса.
-
Если задан модификатор
WITH TRUNCATE
сжатие пространства БД выполняется по следующим правилам:-
для файлов данных происходит перенос данных (в пределах своего файла) в начало файла с последующим усечением освободившегося пространства;
-
для файлов индексов происходит удаление индексов путём усечения файлов индексов до минимального размера, затем пересоздание индексов;
-
файлы c BLOB-данными не сжимаются.
-