|
Способ повлиять на план исполнения запроса
|
|||
---|---|---|---|
#18+
Есть набор запросов по схеме: SELECT DT.ID, DT.DOC_NUM FROM EXP.DOC_TITLE DT WHERE DT.AFFILIATE = ? AND DT.DEPOTSECTOR = ? AND EXISTS(SELECT B.DOC_TITLE FROM EXP.DOC_BODY B INNER JOIN EXP.FILTER_GOODS_USER FF1 ON (FF1.GOODS = B.GOODS) WHERE B.DOC_TITLE = T.ID) Могут меняться таблицы EXP.DOC_TITLE & EXP.DOC_BODY, но их структуры во многом схожи. Просматривая планы запросов видно, что чаще всего сканирование таблицы EXP.DOC_BODY (а вернее только её уникального индекса) идет по предикатам (EXP.DOC_BODY.DOC_TITLE = ? & EXP.DOC_BODY.GOODS = ?). Но бывает и так что сканирование этой таблицы идет полностью(!). Может, у кого есть предположения в связи с чем может возникнуть такая разница в поведении. И как её заставить сканировать используя предикаты? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2003, 18:04 |
|
Способ повлиять на план исполнения запроса
|
|||
---|---|---|---|
#18+
Попробуй собрать статистику (runstats) по таблицам, включая статистику по распределению (WITH DISTRIBUTION) по столбцам, на которых используются предикаты. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2003, 13:45 |
|
Способ повлиять на план исполнения запроса
|
|||
---|---|---|---|
#18+
Пробовал. Не помогает. Помогает если поставить SET CURRENT QUERY OPTIMIZATION = 3 Но что-то не совсем мне это нравится, хочется оставить по default=5 (может, зря?). Складывается мнение что DB2 решает, что запрос лучше выполнить просканировав индекс полностью и затем присоединить его, выполнив ограничения. Затраты в таймеронах при этом выгядят: IXSCAN - 13168 затем MSJOIN - 34 (?) От этого можно избавиться другим способом? И в чем может быть причина такого поведения? DB2 7.2.5 on Win2000. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2003, 11:35 |
|
Способ повлиять на план исполнения запроса
|
|||
---|---|---|---|
#18+
У тебя он где используется??? Если в SP то бинди ее с 3 уровнем оптимизации и не парься. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2003, 15:12 |
|
Способ повлиять на план исполнения запроса
|
|||
---|---|---|---|
#18+
Не в SP. Из приложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2003, 15:19 |
|
Способ повлиять на план исполнения запроса
|
|||
---|---|---|---|
#18+
На самом деле всe зависит от типа твоего приложения. Например IBM-кая лаборатория которая IBM Content Manager разрабатывает постала для него Def optimisation level 3 и очень не рекомендует его менять. Тоже самое для SAP. Поставь для своего приложения DEF OPT level 3. А если надо будет выше через SET CURRENT QUERY OPTIMIZATION повышаешь как тебе ужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2003, 19:48 |
|
|
start [/forum/topic.php?fid=43&msg=32298557&tid=1606459]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
93ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 180ms |
0 / 0 |