Как создать индексы на MQT (материализованная таблица запросов) в Db2?

Как создать индексы на MQT (материализованная таблица запросов) в Db2? Я не нашел эту информацию в документации? Является ли синтаксис создания индекса таким же, как для обычных таблиц?


person yura    schedule 16.06.2011    source источник


Ответы (1)


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

Существуют некоторые ограничения на типы индексов, которые вы можете создавать на MQT. Например, это не может быть уникальный индекс.

person Ian Bjorhovde    schedule 16.06.2011
comment
Просто чтобы добавить к этому вопросу - в MQT вам нужно включить столбцы первичного ключа из всех исходных таблиц. Вам нужно добавить индексы для этих столбцов, чтобы ускорить синхронизацию данных из исходных таблиц? - person sapatos; 05.12.2013
comment
@sapatos Это зависит от того, как вы обновляете таблицу - если вы делаете полное обновление, то уникальный индекс не нужен. Но если вы выполняете добавочные обновления (или выполняете немедленное обновление), очень важно иметь как можно более близкий к уникальному индекс. - person Ian Bjorhovde; 10.12.2013
comment
да, я пришел к такому же выводу путем экспериментов. Без индексов для каждого первичного ключа производительность обновления таблицы была ужасной. Это меня удивило, так как с обновлением LIVE я ожидал, что DB2 настроит необходимые индексы, поскольку это базовая операционная система, которая поддерживает таблицу. - person sapatos; 11.12.2013