|
|
|
Фиксация планов
|
|||
|---|---|---|---|
|
#18+
Исх. данные: 1. есть вью, состоящая из 20-ти юнион запросов к 20-ти таблицам 2. таблицы во вью со временем добавляются (т.е. еще плюсуются union all селекты) 3. к этой вьюшке есть запрос, который может использовать один из двух индексов этих 20-ти таблиц (в зависимости от входных параметров) Проблема: Запрос из п.3 работает быстро (в пределах секунды), но только если выполняется часто, после паузы например 3-5мин, первый старт запроса будет висеть секунд 5 и более. Трассировку не сделать, но большое подозрение, что основное время первого запуска идет на построение плана. Вопросы: 1. Если много времени тратится на полный разбор запроса, решает ли проблему фиксация плана (так понимаю, что должна бы)) 2. Целесообразно ли фиксировать план отдельно для каждого подзапроса вьюшки или лучше фиксировать уже целиком для запроса, который обращается к вьюшке? Особенно учитывая, что вьюшка будет меняться (в ней могут добавляться/удаляться подзапросы) 3. Если для одного запроса может быть два разных плана в зависимости от параметров (т.е. может использоваться либо один, либо другой индекс), можно пофиксить два плана для запроса и оракл будет сам выбирать, но только из этих двух планов или лучше сделать два отдельных запроса и запускать каждый отдельно в зав. от вх. параметров и соответственно для каждого запроса пофиксить свой план.? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2016, 10:45:12 |
|
||
|
Фиксация планов
|
|||
|---|---|---|---|
|
#18+
Скорее всего повторные запросы у вас работают быстро из-за кэширования. Фиксируют план для того чтобы неожиданно не получить неудачный, это не ваш случай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2016, 15:32:51 |
|
||
|
Фиксация планов
|
|||
|---|---|---|---|
|
#18+
vox22Скорее всего, повторные запросы у вас работают быстро из-за кэширования. Фиксируют план для того чтобы неожиданно не получить неудачный, это не ваш случай. Кэширование это понятно, но быстро они работают с разными значениями вх. параметров, на достаточно больших объемах с очень небольшой общей выборкой из этой массы (единицы из десятков миллионов) т.е. речь не о том, что данные достаются из кэша, поэтому когда подряд, то работает быстрее. Понятно и то, что фиксируют, чтобы план не соскочил, но вопрос в том числе и в том, помогает ли фикс плана ощутимо сократить время разбора запроса, если например его план вытесняется из кэша? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2016, 16:08:15 |
|
||
|
Фиксация планов
|
|||
|---|---|---|---|
|
#18+
авторКэширование это понятно, но быстро они работают с разными значениями вх. параметров, на достаточно больших объемах с очень небольшой общей выборкой из этой массы (единицы из десятков миллионов) т.е. речь не о том, что данные достаются из кэша, поэтому когда подряд, то работает быстрее. Не в тему про подрят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2016, 16:10:14 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=209&tid=1887778]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
473ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 790ms |

| 0 / 0 |
