2016-06-09 5 views

ответ

1

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

Во-вторых, на самом деле нет способа освободить дисковое пространство, связанное с строкой. Все дисковое пространство, выделенное фрагменту, остается в использовании. Он использовался до того, как строка была создана и остается в использовании после удаления строки. Informix обрабатывает выделение.

В чем проблема? Из-за удаленной строки вы не исчерпываете места в Informix или на уровне o/s.

0

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

1

В зависимости от вашей версии Informix вы можете использовать команды API администрирования SQL для оптимизации хранилища и консолидации свободного пространства в таблицах.

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

V11.50 или выше

• Рипак перемещает строку из конца раздела на пустое пространство страницы, присутствующее в верхнем конце раздела.

• Усадка высвобождает экстенты, которые были опустошены обратно в dbspace.

V12.10

• таблиц Дефрагментация или индексов для объединения несмежных экстентов.

См:

Руководство администратор Управления дискового пространства глава

администратор Справочника управление SQL Функция API

Смежные вопросы