Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Не меняются значения результата процедуры REORGCHK после выполнения REORG TABLE и RUNSTATS
|
|||
|---|---|---|---|
|
#18+
Есть некоторый SQL запрос в котором есть обращение через join к большим таблицам (для одной БД1 это приблизительно по 7млн. строк каждая, а для другой БД2 200тыс) T1 и T2. В каждой из этих таблиц есть первичный составной ключ (PK1 и PK2) с двумя столбцами. В каждой из этих таблиц есть индекс (IX1 и IX2) по второму столбцу первичного ключа. Выполнив запрос на БД2 у меня используется команда IDXSCAN по индексам IX1 и IX2. Выполнив запрос на БД1 у меня используется команда TBSCAN по таблицам T1 и T2. Я хочу избавиться от этих TBSCAN и поэтому выполнил следующие действия: С помощью команды REORGCHK для T1 и T2 получил статистику статистика для индексов PK1 и IX1 таблицы T1 SCHEMA NAME CARD LEAF ELEAF LVLS ISIZE NDEL KEYS F4 F5 F6 F7 F8 REORG ------------------------------------------------------------------------------------------------- Таблица: DB2INST4.T1 DB2INST4 IX1 7e+006 31842 0 4 8 0 6e+006 20 89 102 0 0 *-*-- DB2INST4 PK1 7e+006 42292 0 4 12 0 7e+006 84 89 53 0 0 ----- статистика для индексов PK1 и IX1 таблицы T1 SCHEMA NAME CARD LEAF ELEAF LVLS ISIZE NDEL KEYS F4 F5 F6 F7 F8 REORG ------------------------------------------------------------------------------------------------- Таблица: DB2INST4.T2 DB2INST4 IX2 7e+006 32556 0 4 8 0 7e+006 29 89 99 0 0 *---- DB2INST4 PK2 7e+006 41664 0 4 12 0 7e+006 68 89 54 0 0 *---- С помощью команды REORG TABLE выполнил реорганизацию таблицы T1 и T2 C помощью команды RUNSTATS ON TABLE FOR T1 INDEXES ALL ALLOW WRITE ACCESS получил статистику для всех индексов T1 и T2. Выполнил SQL запрос в плане TBSCAN не удалились и при выполнении REORGCHK для T1 и T2 я получаю такую же статистику. Вопрос: как мне избавиться в этом случае от TBSCAN? P.S. также я выполнял: 1) реорганизацию индексов IX1,IX2,PK1 и PK2; 2) удалял из кэша план выполнения запроса. Все это тоже не помогло! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 17:18 |
|
||
|
Не меняются значения результата процедуры REORGCHK после выполнения REORG TABLE и RUNSTATS
|
|||
|---|---|---|---|
|
#18+
ASukhov1986, Обычно сначала пытаются добиться нужного плана по-хорошему, собирая статистику или использую статистические представления. Если оптимизатор не хочет менять план доступа, а вы все-таки хотите его поменять, то можно использовать оптимизационные профили. Обе техники описаны в статье ниже. Influence query optimization with optimization profiles and statistical views in DB2 9 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 11:23 |
|
||
|
Не меняются значения результата процедуры REORGCHK после выполнения REORG TABLE и RUNSTATS
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, но у меня все равно возникает вопрос: почему после выполнения реорганизации таблиц T1 и T2, а затем обновления статистики по всех индексам этих таблиц у меня после выполнения команды REORGCHK для T1 и T2 я получаю статистику в которой для всех индексов значение формул F4 и REORG не изменились? P.S. статистика для индексов PK1 и IX1 таблицы T1 SCHEMA NAME CARD LEAF ELEAF LVLS ISIZE NDEL KEYS F4 F5 F6 F7 F8 REORG ------------------------------------------------------------------------------------------------- Таблица: DB2INST4.T1 DB2INST4 IX1 7e+006 31842 0 4 8 0 6e+006 20 89 102 0 0 *-*-- DB2INST4 PK1 7e+006 42292 0 4 12 0 7e+006 84 89 53 0 0 ----- статистика для индексов PK1 и IX1 таблицы T2 SCHEMA NAME CARD LEAF ELEAF LVLS ISIZE NDEL KEYS F4 F5 F6 F7 F8 REORG ------------------------------------------------------------------------------------------------- Таблица: DB2INST4.T2 DB2INST4 IX2 7e+006 32556 0 4 8 0 7e+006 29 89 99 0 0 *---- DB2INST4 PK2 7e+006 41664 0 4 12 0 7e+006 68 89 54 0 0 *---- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 17:31 |
|
||
|
Не меняются значения результата процедуры REORGCHK после выполнения REORG TABLE и RUNSTATS
|
|||
|---|---|---|---|
|
#18+
ASukhov1986, F4 - это степень кластеризации данных по индексу. Т.е., грубо говоря, насколько физически данные расположены в порядке, заданном этим индексом. Вы можете попытаться реорганизовать данные в порядке следования только какого-то одного индекса, если вы понимаете, зачем это делается и надо ли оно вам. Для этого надо либо этот индекс объявить кластерным (тогда reorg по-умолчанию будет данные стараться помещать в его порядке), либо явно его указывать в команде reorg типа: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 18:35 |
|
||
|
Не меняются значения результата процедуры REORGCHK после выполнения REORG TABLE и RUNSTATS
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, попробую вначале на тестовой БД, а потом на промышленной БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2015, 16:58 |
|
||
|
Не меняются значения результата процедуры REORGCHK после выполнения REORG TABLE и RUNSTATS
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, у меня есть вопрос по статье Influence query optimization with optimization profiles and statistical views in DB2 9: По какой формуле определяется The cardinality (я так понимаю это мощность предиката)? P.S. В статье это строчка выгладит так: The cardinality is 10 * 10 * 0.1 = 10. где 0.1 - это селективность, а вот что такое 10 и 10 непонятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 12:11 |
|
||
|
Не меняются значения результата процедуры REORGCHK после выполнения REORG TABLE и RUNSTATS
|
|||
|---|---|---|---|
|
#18+
ASukhov1986, column cardinality (colcard) - кол-во разных значений в поле таблицы (поле syscat.columns.colcard) table cardinality (card) - кол-во записей в таблице (поле syscat.tables.card) join cardinality (T1.C1 = T2.C1) = (T1 card) * (T2 card) * selectivity ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 14:10 |
|
||
|
|

start [/forum/topic.php?fid=43&fpage=20&tid=1600851]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
34ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 394ms |

| 0 / 0 |
