2009-02-25 2 views

ответ

0

В командной строке DB2, попробуйте следующее:

db2 => explain plan for ...insert-query-here... 

В результате, вы будете видеть, когда используются индексы и когда DB2 будет использовать полное сканирование таблицы.

0

Если вы измените его на a, b, c, d, то будет использоваться индекс (a, b, c).
Если вы измените его на d, b, a, c (или все, начиная с d), будет выбран индекс (d).
В основном, используйте столбцы в том же порядке, что и индекс, который вы хотите использовать.

0

Оптимизатор, основанный на затратах (например, DB2), будет использовать статистику для табличных и индексных объектов, чтобы определить, будет ли индекс (A, B, C) или (D) лучше подходит для заданного запроса , Показатель (количество уникальных значений в индексе) является одной из нескольких статистических данных, собранных командой RUNSTATS, чтобы помочь оптимизатору оценить относительные затраты на ввод-вывод и ЦП с каждым возможным доступом. Команда объяснения, упомянутая в ответе Аарона Дигуллы, а также средство db2expln, помогут вам понять, какой индекс будет выбран.

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

  • Нет связанных вопросов^_^