|
Перекомпиляция плана
|
|||
---|---|---|---|
#18+
Если на таблице построить индекс приведёт ли это к перекомпиляции плана? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2022, 15:44 |
|
Перекомпиляция плана
|
|||
---|---|---|---|
#18+
Что такое перекомпиляция плана? Первый раз такое слышу. Команд CREATE PLAN IS и ALTER PLAN RECOMPILE - лично я не знаю. Знаю только слова Parse, Execute, Fetch ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2022, 16:54 |
|
Перекомпиляция плана
|
|||
---|---|---|---|
#18+
PaulWist приведёт ли это к перекомпиляции плана? А почему бы все же не проверить? Но если хотите простой ответ - конечно же, план может перекомпилиться измениться. А может и не измениться, потому как есть еще распределение данных, селективность и все такое прочее Код: plsql 1. 2. 3. 4.
Можете подробнее рассказать про то, как вы "генерите" план. Думаю, многие на форуме не знают про эту фичу ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2022, 17:46 |
|
Перекомпиляция плана
|
|||
---|---|---|---|
#18+
Master_Detail А почему бы все же не проверить? Проверил. Master_Detail Но если хотите простой ответ - конечно же, план может перекомпилиться измениться. А может и не измениться, потому как есть еще распределение данных, селективность и все такое прочее ОК, план изменился, начал использовать новый индекс. Кстати, как заставить принудительно перекомпилировать изменять план при bind параметрах?? (например в MSSQL используется опция RECOMPILE), то есть для одного SQL_ID получить несколько планов?? Master_Detail Код: plsql 1. 2. 3. 4.
Можете подробнее рассказать про то, как вы "генерите" план. Думаю, многие на форуме не знают про эту фичу Пожалуйста, всё очень просто :) Код: plsql 1. 2. 3.
Вызовет создание 2-х планов. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2022, 10:57 |
|
Перекомпиляция плана
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Неудачно выразился, создание нового плана для одного и того же запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2022, 10:58 |
|
Перекомпиляция плана
|
|||
---|---|---|---|
#18+
PaulWist, Принудительно инвалидировать курсоры (инициировав жесткий разбор (hard parse) запросов с возможным(!) построением новых планов, в которых задействованы объекты БД) можно через сбор статистики по объекту с помощью пакета DBMS_STATS (опция no_invalidate). Начиная с версии 11.2 (если я правильно помню), можно удалить планы для конкретного запроса из shared pool используя пакет DBMS_SHARED_POOL , что также инициирует жесткий разбор и возможное построение нового плана. ЗЫ: инвалидировать курсоры в оракле можно и достаточно безобидными DDL (типа comment). ЗЗЫ: в проде так делать надо очень осторожно. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2022, 11:44 |
|
Перекомпиляция плана
|
|||
---|---|---|---|
#18+
PaulWist Код: plsql 1. 2. 3.
Вызовет создание 2-х планов. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2022, 11:47 |
|
Перекомпиляция плана
|
|||
---|---|---|---|
#18+
Asmodeus PaulWist Вызовет создание 2-х планов. Ну, ОК. Код: plsql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2022, 11:51 |
|
Перекомпиляция плана
|
|||
---|---|---|---|
#18+
А разве не то же самое? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2022, 11:58 |
|
Перекомпиляция плана
|
|||
---|---|---|---|
#18+
PaulWist Asmodeus пропущено... В зависимости от значения параметра cursor_sharing . Ну, ОК. Код: plsql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2022, 12:02 |
|
Перекомпиляция плана
|
|||
---|---|---|---|
#18+
Да Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2022, 12:14 |
|
Перекомпиляция плана
|
|||
---|---|---|---|
#18+
istrebitel Да Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2022, 12:16 |
|
Перекомпиляция плана
|
|||
---|---|---|---|
#18+
Asmodeus Показывайте значение cursor_sharing` (вангую force). :) Да, это и был ответ что при force так просто не обойдёшь. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2022, 12:21 |
|
|
start [/forum/topic.php?fid=52&tid=1879472]: |
0ms |
get settings: |
7ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
33ms |
get topic data: |
7ms |
get forum data: |
1ms |
get page messages: |
297ms |
get tp. blocked users: |
1ms |
others: | 357ms |
total: | 711ms |
0 / 0 |