|
|
|
Directives cannot be specifed in query with ansi join.
|
|||
|---|---|---|---|
|
#18+
Захотелсь денормализовать табличку в отчете и вот: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. sqlexplain.out Estimated # of Rows Returned: 1940 Estimated Cost: 92630 Directives cannot be specifed in query with ansi join. DIRECTIVES DISABLED: Подскажите где можно подробнее почитать про subj. Informix DS 9.40 UC4 с уважением, onstat ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 17:32 |
|
||
|
Directives cannot be specifed in query with ansi join.
|
|||
|---|---|---|---|
|
#18+
У информикса проблемы прикручивания ANSI-синтаксиса к старым фичам. Похоже, что старая команда разработчиков ушла с informix внезапно, а новая команда не успела прочитать книги Карлтона Доу :) Теперь, когда новая команда прикручивает к Informix ANSI-диалект, то от греха подальше старается избегать переписывания нового кода. Как движок в 7 версии переписали на online, так эволюция и остановилась - сейчас идёт прикрутка скотчем. Почитай ids_9_40_defects.txt - там нверняка найдёшь описание своего косяка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2005, 08:12 |
|
||
|
Directives cannot be specifed in query with ansi join.
|
|||
|---|---|---|---|
|
#18+
Для начала, сравни план запроса с директивой и без нее !!! Далее, попробуй установить переменную окружения NO_SUBQF=1 (есть подозрение, что это унаследованный баг) ... Желаю удачи !!! GVF112 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2005, 09:53 |
|
||
|
Directives cannot be specifed in query with ansi join.
|
|||
|---|---|---|---|
|
#18+
Baco Почитай ids_9_40_defects.txt - там нверняка найдёшь описание своего косяка. Спасибо за наводку вот они: ids_9_40_defects.txt bug_number 167632 description OPTIMIZER DIRECTIVES DOES NOT WORK WITH ANSI LEFT OUTER JOIN product_code ONLINE component_code SQL bug_number 160637 description PERFORMANCE OF NESTED ANSI LEFT OUTER JOIN IS VERY BAD product_code ONLINE component_code SQOPTIM bug_number 155785 description EXCESSIVE MEMORY USAGE RUNNING A QUERY WITH ANSI OUTER JOIN product_code ONLINE component_code SQOPTIM но больше всего меня порадовало это ids_9_40_defects.txt bug_number 151024 description CERTAIN QUERIES WITH ANSI INNER AND OUTER JOINS AND PRE-JOIN FILTERS MAKES THE ENGINE HANG product_code ONLINE component_code SQL с уважением, onstat ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2005, 11:21 |
|
||
|
Directives cannot be specifed in query with ansi join.
|
|||
|---|---|---|---|
|
#18+
BacoПохоже, что старая команда разработчиков ушла с informix внезапно, а новая команда не успела прочитать книги Карлтона Доу :) Теперь, когда новая команда прикручивает к Informix ANSI-диалект, то от греха подальше старается избегать переписывания нового кода. Как движок в 7 версии переписали на online, так эволюция и остановилась - сейчас идёт прикрутка скотчем. Как раз для 9.40 очень много было переписано заново (чего стоит только снятие ограничения на 2Гб) и на уровне движка (в том числе и оптимизатор), именно отсюда и огромное кол-во багов в версиях 9.40.хС1-5. И команда, насколько я знаю, вся не разбегалась... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2005, 14:53 |
|
||
|
Directives cannot be specifed in query with ansi join.
|
|||
|---|---|---|---|
|
#18+
... Василий, ты как всегда прав .... :) Я бы - рекомендовал IDS 9.40.UC6 и выше .... но переменную NOSUB_QF=1 (для 9.40) на всякий случай установил бы ... Желаю удачи !!! GVF112 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2005, 15:40 |
|
||
|
Directives cannot be specifed in query with ansi join.
|
|||
|---|---|---|---|
|
#18+
GVF112 Для начала, сравни план запроса с директивой и без нее !!! Планы однинаковы. GVF112... Василий, ты как всегда прав .... :) Я бы - рекомендовал IDS 9.40.UC6 и выше .... но переменную NOSUB_QF=1 (для 9.40) на всякий случай установил бы ... Желаю удачи !!! GVF112 А что значит это переменная окружения? (Лучше ссылку) Поиски в документации и интернете пока ни к чему не привели. С уважением, onstat ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2005, 16:49 |
|
||
|
Directives cannot be specifed in query with ansi join.
|
|||
|---|---|---|---|
|
#18+
onstat GVF112 Для начала, сравни план запроса с директивой и без нее !!! Планы однинаковы. Так исключи директиву из запроса. Как по мне, так эти директивы "есть зло" и должны использоваться только в крайних случаях, когда оптимизатор глючит. onstat А что значит это переменная окружения? (Лучше ссылку) Поиски в документации и интернете пока ни к чему не привели. -- Disable sub-query flattening (7.30+) -- Выключает выравнивание запросов (путём упрощения структуры разбиением на подзапросы) set NO_SUBQF=1 Ссылок на подробное описание не знаю, но мне кажется, что в данном конкретном случае это не та проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2005, 18:36 |
|
||
|
Directives cannot be specifed in query with ansi join.
|
|||
|---|---|---|---|
|
#18+
vasilis onstat GVF112 Для начала, сравни план запроса с директивой и без нее !!! Планы однинаковы. Так исключи директиву из запроса. Как по мне, так эти директивы "есть зло" и должны использоваться только в крайних случаях, когда оптимизатор глючит. Думаю что это и есть то крайний случай. Весь прикол в том, что по таблице tab1 существует нидекс по полям (indexs,rowserno,timestamp) Который оптимизатор. по моему даже правильно, подхватывает для объединения таблиц, а по timestamp использует фильтр. Существует также отдельный индекс по полю timestamp, который я и хотел заставить использовать вместо фильтра(full scan). Сбор/пересбор статистики ситуацию не поменял. (в таблицах tab1 ~40 млн tab2 ~5 млн tab3 ~5 млн) onstat А что значит это переменная окружения? (Лучше ссылку) Поиски в документации и интернете пока ни к чему не привели. -- Disable sub-query flattening (7.30+) -- Выключает выравнивание запросов (путём упрощения структуры разбиением на подзапросы) set NO_SUBQF=1 Ссылок на подробное описание не знаю, но мне кажется, что в данном конкретном случае это не та проблема.[/quot] Спасибо за разъяснение, я отчет уже зделал через использование временных таблиц, и сейчас проблема представляет чисто академический интерес. С уважением, onstat ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2005, 21:57 |
|
||
|
|

start [/forum/topic.php?fid=44&msg=32958938&tid=1609078]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
33ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 346ms |

| 0 / 0 |
