|
Не используется абстрактный план (2)
|
|||
---|---|---|---|
#18+
Позанимаюсь "воскрешением" тем. ASE 15.7 Есть запрос с темповой таблицей. Есть план привязанный и раскиданный и в in и в out. И есть выполнение запроса без этого плана... Вопрос - что я делаю не так :) Что-то надо еще серверу магическое сказать, чтоб он начал план пользовать самостоятельно? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 10:44 |
|
Не используется абстрактный план (2)
|
|||
---|---|---|---|
#18+
Дополню - план валидный, запрос тоже. Пробовал полностью скопировать запрос из sysqueryplans etс. Сервер в упор не видит привязанный план ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 10:45 |
|
Не используется абстрактный план (2)
|
|||
---|---|---|---|
#18+
Когда план читается и в нём ошибка (например, синтаксиса), он не будет применяться, и ASE не будет выдавать никакую ошибку, диагностику в лог и т.п. Синтаксис абстрактных планов достаточно сложен, не очень интуитивен, (там грубо говоря LISP), поэтому в нём легко сделать ошибку и не заметить -- средств для поддержки разработки планов тоже нет. Наверное, единственный вариант добиться применения абстрактного плана -- сдампить полный абстрактный план работающего запроса, положить его в IN, и добиться, чтобы он использовался (в show query plan будет какая-то строчка об этом, если я правильно помню). Затем уже, постоянно проверяя, что план всё ещё используется, последовательно модифицировать план в нужном направлении, сначала сделать план частичным, потом добиться уже нужной логики исполнения запроса. Для максимального приближения к желаемому плану можно сначала добавить в запрос хинты по максимуму, а затем взять максимально близкий к желаемому абстрактный план и выкинуть хинты из запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 12:48 |
|
Не используется абстрактный план (2)
|
|||
---|---|---|---|
#18+
Mikle83Дополню - план валидный, запрос тоже. Пробовал полностью скопировать запрос из sysqueryplans etс. Сервер в упор не видит привязанный план Ещё такое может быть, когда план валидный с точки зрения синтаксиса и семантики, но указанные в плане операции напрочь не подходят для выполнения операций, указанных в запросе. Т.е. план валиден, но неприменим к данному запросу. Тогда план также не будет использоваться. Если бы ты прислал запрос и план (если они не очень большой), может мы могли бы что-то подсказать. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 12:51 |
|
Не используется абстрактный план (2)
|
|||
---|---|---|---|
#18+
MasterZiv, так план предварительно успешно проверен с выполнением этого же запроса. Т.е. что было сделано: 1. Select ....... plan "{plantext}" - отрабатывает успешно и как надо с применением плана 2. create plan с этим же запросом и планом один в один. 3. Копирование из аут в ин. 4. И результата ноль... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 13:55 |
|
Не используется абстрактный план (2)
|
|||
---|---|---|---|
#18+
сейчас попробую "это" вытащить в удобоваримом виде ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 13:59 |
|
Не используется абстрактный план (2)
|
|||
---|---|---|---|
#18+
Как-то так все происходит Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 14:42 |
|
Не используется абстрактный план (2)
|
|||
---|---|---|---|
#18+
Mikle83, пробовал создавать план без дампа напрямую через Create Plan - те же яйца вид сбоку ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 14:46 |
|
Не используется абстрактный план (2)
|
|||
---|---|---|---|
#18+
Все вопрос закрыт. abstract plan load - то самое недостающие "звено" (или его аналог на сессию). Надо как-нить собраться с мыслями и добавить в FAQ ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 17:02 |
|
Не используется абстрактный план (2)
|
|||
---|---|---|---|
#18+
Mikle83Все вопрос закрыт. abstract plan load - то самое недостающие "звено" (или его аналог на сессию). Надо как-нить собраться с мыслями и добавить в FAQ set plan load что ли не делал ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 17:59 |
|
Не используется абстрактный план (2)
|
|||
---|---|---|---|
#18+
MasterZiv, хуже. На нужную сессию вбросить параметр не мог. Нужен был конфиг сервера, а его динамическое изменение (не пойму пока как), но забанили ДБА. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 18:58 |
|
Не используется абстрактный план (2)
|
|||
---|---|---|---|
#18+
Абстрактный план можно вписать в запрос в конце. Для этого вроде никаких настроек не надо. Ну это так, на всякий случай. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2017, 10:50 |
|
|
start [/forum/topic.php?fid=55&fpage=3&tid=2009653]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 250ms |
total: | 393ms |
0 / 0 |