IBM® Informix® 12.10

Сжатие и распаковка данных

В этом сценарии показано, как использовать команды API администрирования SQL для управления сжатием и оптимизации систем хранения данных.

В сценарии используется таблица с именем rock в базе данных music, владельцем в которой является mario.

Требования.

Чтобы сжимать и данные в строках, и простые большие объекты в пространствах баз данных:

  1. Вы рассматриваете возможность сжатия таблицы rock, поэтому выполняете следующую команду, чтобы проверить, какой объем пространства можно сэкономить в результате сжатия таблицы:
    EXECUTE FUNCTION task("table estimate_compression", "rock", "music", "mario");  

    Вы просматриваете отчет, из которого следует, что можно сэкономить 75% пространства, занимаемого в настоящий момент таблицей rock. Вы принимаете решение сжать таблицу.

  2. Прежде чем выполнить сжатие данных, вы хотите создать словарь сжатия, который содержит сведения, используемые сервером IBM® Informix для сжатия данных в таблице rock. Выполните следующую команду:
    EXECUTE FUNCTION task("table create_dictionary", "rock", "music", "mario");

    Если для создания словаря сжатия не используется отдельное действие, сервер Informix создает словарь сжатия автоматически при сжатии данных.

  3. Вы принимаете решение о сжатии данных в таблице rock и простых больших объектов в пространствах баз данных, консолидации данных и возврате свободного пространства в пространство базы данных. Выполните следующую команду:
    EXECUTE FUNCTION task("table compress repack shrink", "rock", "music", "mario");
    Если вы решили сжимать только данные в строках или только простые большие объекты в пространствах баз данных, то уточните команду, вставив ключевое слово rows или blobs после слова compress или строки compress repack shrink. Например:
    • Чтобы сжать только данные строк, задайте:
      EXECUTE FUNCTION task("table compress rows","rock","music","mario");
    • Чтобы сжать только данные строк, а затем осуществить перераспределение и сокращение данных, задайте:
      EXECUTE FUNCTION task("table compress repack shrink rows",
      "rock","music","mario";
    • Чтобы сжать только большие объекты в пространстве баз данных, задайте:
      EXECUTE FUNCTION task("table compress blobs","rock","music","mario");

    После сжатия данных в существующих строках и простых больших объектов сервер Informix консолидирует свободное пространство в конце таблицы, а затем удаляет свободное пространство из таблицы, возвращая его в пространство базы данных.

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

  4. Предположим, что надо распаковать данные. Выполните следующую команду:
    EXECUTE FUNCTION task("table uncompress","rock","music","mario");
  5. Вы хотите удалить словарь сжатия.
    1. Убедитесь, что для Enterprise Replication словарь не нужен.

      Не удаляйте словари сжатия, относящиеся к распакованным или удаленным таблицам и фрагментам таблиц, если они нужны для Enterprise Replication.

    2. Произведите архивирование пространства базы данных, в котором содержится таблица или фрагмент со словарем сжатия.
    3. Выполните следующую команду:
      EXECUTE FUNCTION task("table purge_dictionary", "rock", "music", "mario");

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

EXECUTE FUNCTION task("fragment аргументы_сжатия", "список_номраз");

Чтобы консолидировать свободное пространство или выполнить его возврат без сжатия или распаковки, можно выполнить команду, которая указывает, что сервер должен осуществить перераспределение, сокращение либо перераспределение и сокращение.


Отправить отзыв | Обмен примерами | Устранение неисправностей

Публикации в формате PDF смотрите по адресу Publications for the IBM Informix 12.10 family of products (Публикации для семейства продуктов IBM Informix 12.10).
Замечания по выпуску, документации и/или различным платформам смотрите на странице Замечания по выпуску.
 отметка времени Дата выпуска: март 2013 г.