|
|
|
Производительность явного и неявного курсоров
|
|||
|---|---|---|---|
|
#18+
Добрый день. После проблем с электричеством и перезагрузкой сервака появилась проблема. Хотя до того работало быстро. sSQL_RACC:='select R.nrn from '||sORG_SCHEMA||'.V_ACCREMNS@'||sLINK||' R where R.ncompany=:nORG_COMPANY and R.dremn_date=:dORG_REMNDATE'; open RACC for sSQL_RACC using nORG_COMPANY, dORG_REMNDATE; loop fetch RACC into FROM_RN; Выполняется ~ за 8 секунд. Тот же самый запрос неявным курсором for ACC in ( select R.nrn from SISD.V_ACCREMNS@SVOD R where R.ncompany=48901 and R.dremn_date=to_date('01.07.2015','DD.MM.YYYY') ) loop Выполнился за 0.4 секунды Что может быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2015, 10:42 |
|
||
|
Производительность явного и неявного курсоров
|
|||
|---|---|---|---|
|
#18+
Ivan_kg, планы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2015, 10:45 |
|
||
|
Производительность явного и неявного курсоров
|
|||
|---|---|---|---|
|
#18+
Ivan_kg, неправильно вопрос задан: не явный-неявный, а бинды vs литералы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2015, 10:50 |
|
||
|
Производительность явного и неявного курсоров
|
|||
|---|---|---|---|
|
#18+
>> не явный-неявный, а бинды vs литералы А почему тогда sSQL_RACC:='select R.nrn from SISD.V_ACCREMNS@SVOD R where R.ncompany=48901 and R.dremn_date=trunc(sysdate)-60'; open RACC for sSQL_RACC; -- using nORG_COMPANY, dORG_REMNDATE; loop fetch RACC into FROM_RN; отрабатывает те же долгих 8 сек? Бинда, как видим, нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2015, 14:46 |
|
||
|
Производительность явного и неявного курсоров
|
|||
|---|---|---|---|
|
#18+
Ivan_kg, почему три разных запроса выполняются за разное время... это ж чудо какое! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2015, 14:51 |
|
||
|
Производительность явного и неявного курсоров
|
|||
|---|---|---|---|
|
#18+
Ivan_kgfetch RACC into FROM_RN;после того как приведешь к одинаковым планам, сделай еще фетч по 100 строк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2015, 16:46 |
|
||
|
Производительность явного и неявного курсоров
|
|||
|---|---|---|---|
|
#18+
Ivan_kg, а какая версия оракла? с 10 версии for loop работает быстрее из за fetch size 100. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2015, 18:02 |
|
||
|
Производительность явного и неявного курсоров
|
|||
|---|---|---|---|
|
#18+
Ivan_kg>> не явный-неявный, а бинды vs литералы А почему тогда sSQL_RACC:='select R.nrn from SISD.V_ACCREMNS@SVOD R where R.ncompany=48901 and R.dremn_date=trunc(sysdate)-60'; open RACC for sSQL_RACC; -- using nORG_COMPANY, dORG_REMNDATE; loop fetch RACC into FROM_RN; отрабатывает те же долгих 8 сек? Бинда, как видим, нет.Но и sysdate явно не литерал. Гляди все же план на обоих @сторонах, что попусту клавиши молоть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2015, 18:16 |
|
||
|
Производительность явного и неявного курсоров
|
|||
|---|---|---|---|
|
#18+
При оптимизации древней процедуры столкнулся с аналогичной ситуацией. Была такая конструкция, выполнялась за ~9 минут Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Попробовал переписать на такую, выполняется за ~14 секунд Код: plsql 1. 2. 3. 4. 5. 6. 7. план запроса Код: 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. Сам запрос для обеих конструкций одинаков и выполняется ~за 4 сек. Возвращает он 1000 строк (6 полей, все числовые). Версия Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 В интернетах так и не нашел описания для подобных тормозов. В чем причина столь явного разрыва в производительности? Где можно почитать про это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 14:23 |
|
||
|
Производительность явного и неявного курсоров
|
|||
|---|---|---|---|
|
#18+
шК0ДЕРВ чем причина столь явного разрыва в производительности?slow-by-slow vs batch-by-slow. То ли ещё будет, когда ты прочитаешь про MERGE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 14:42 |
|
||
|
Производительность явного и неявного курсоров
|
|||
|---|---|---|---|
|
#18+
Elicbatch-by-slow.bulk-by-slow ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 14:44 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39043165&tid=1884314]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 357ms |

| 0 / 0 |
