|
Ускорил запрос, но уменьшилась "читабельность"
|
|||
---|---|---|---|
#18+
у меня в пакете есть курсор, ввёл его для избавления кода от копи-паста довольно большого запроса с минимальным изменением. Но проблема, время открытия было катастрофически большое: решил уменьшить. Что бы можно было курсор использовать для разных задач, есть параметр для ограничения списка: либо вся таблица, либо только одна строка с определённым ID Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Oracle на такой мой запрос ответил полным игнорированием PRIMARY KEY индекса, всегда делая FULL SCAN таблицы "customer" Условие я переписал и индекс теперь подтягивается, скорость открытия резко подскочила, но потерялась "читабельность" на мой взгляд. Теперь больше времени требуется, что бы понять SQL. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Жаль, что оптимизатор (9.2) не понял паттерн использования в 1-ом варианте. Просто бурчание вслух ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 13:24 |
|
Ускорил запрос, но уменьшилась "читабельность"
|
|||
---|---|---|---|
#18+
Кроик Семён, Обновляйтесь и не бурчите :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 14:00 |
|
Ускорил запрос, но уменьшилась "читабельность"
|
|||
---|---|---|---|
#18+
Sayan Malakshinov, Sayan MalakshinovОбновляйтесь и не бурчите :) А каким образом тут обновление поможет? Concatenation и в 9.2 есть. OR-Expansion с таким запросом, в общем случае, не поможет. Фиксировать план в любом случае придеться для ":bind is null or column=:bind". ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 15:06 |
|
Ускорил запрос, но уменьшилась "читабельность"
|
|||
---|---|---|---|
#18+
SeaGate А каким образом тут обновление поможет? Concatenation и в 9.2 есть. Если замшелость - это его выбор, то ему с ним жить самому. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 15:39 |
|
Ускорил запрос, но уменьшилась "читабельность"
|
|||
---|---|---|---|
#18+
SeaGate Concatenation и в 9.2 есть SeaGate Фиксировать план в любом случае придеться для ":bind is null or column=:bind". Т.е. проблема именно в том, что оптимизатор тупо складывает стоимости, хотя фактически в простейшем случае работать будет только одна из веток, и, по идее, нужен был бы какой-нибудь коэффициент на это. Скажем 0.5-0.8 . ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 18:11 |
|
|
start [/forum/topic.php?fid=52&msg=40060691&tid=1880308]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
123ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 268ms |
total: | 472ms |
0 / 0 |