|
|
|
select ... from <some_complex_sp>: работает долго, а в где именно затык - непонятно
|
|||
|---|---|---|---|
|
#18+
hi all Продолжаю издевацца над ФБ-3. Запустил снова OLTP-EMUL тест, 35 аттачей (копейки!). В отдельном окне работает трейс с конфигом, фильтрующим только запросы, длящиеся свыше 15 сек. Вот один из перлов: Код: plaintext 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. Есть что-то сюрреалистичное в значении времени (17 сек), при том, что: 0) число фетчей - 1032735 - не очень велико; 1) всего-то 230 тыс NR'ов и 12 тыс IR'ов (остальное рояля вообще не играет, КМК); 2) нет reads; 3) почти нет writes. Транзакции все работают с TIL = SNAPSHOT NO WAIT ==> затрат на тупое ожидание высвобождения ресурсов тут нет (да и быть не могло, ибо снапшот обломался бы при select ... from ... for update with lock, в отличие от RC) Отсутствие в статистике затрат на сортировки - бич нашего времени. Скорее всего, всё упёрлось именно в них. Кроме того, план в 3.х для случая вызова ХП теперь выглядит сверхлаконично. Раньше вода была мокрее: можно было в карусадне планов выявить "виновника торжества". И как теперь искать, "в где косяк" ?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 00:01 |
|
||
|
select ... from <some_complex_sp>: работает долго, а в где именно затык - непонятно
|
|||
|---|---|---|---|
|
#18+
не вижу ничего удивительного. ХЗ что у тебя там в хранимой процедуре sp_customer_reserve делается, может цикл на 10E9 итераций , который не обращается ни к какой таблицы, но время таки занимает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 06:58 |
|
||
|
select ... from <some_complex_sp>: работает долго, а в где именно затык - непонятно
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. процентов на 70% уверен что вот эта штука! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 10:06 |
|
||
|
select ... from <some_complex_sp>: работает долго, а в где именно затык - непонятно
|
|||
|---|---|---|---|
|
#18+
Симонов Денисне вижу ничего удивительного. ХЗ что у тебя там в хранимой процедуре sp_customer_reserve делается, может цикл на 10E9 итераций , который не обращается ни к какой таблицы, но время таки занимаетНету там такого, 99.9% операций - с базой. полу0xFF. Не хватает аналога ораклового dbms_hprof ("иерархич. профайлера"). Очень мощная штука: накапливает по-тихому статистику time_in + time_out для каждого места в pl/sql, где что-то вызывается (в т.ч. где идёт переключение в sql, а не только pl/sql'ные вызовы). А затем выводит всё в сводном виде, и сразу понятно, на каких строках кода больше всего тратится времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 10:24 |
|
||
|
select ... from <some_complex_sp>: работает долго, а в где именно затык - непонятно
|
|||
|---|---|---|---|
|
#18+
Таблоид, у меня кстати была хотелка чтобы в трейсе можно было посмотреть explain форму плана. Влад сказал что это будет это делать ближе к бете и просил напомнить. Хотя твою проблему это не решит. ТаблоидОтсутствие в статистике затрат на сортировки там надо не только показывать затраты на сортировку, но и на хэширование (HASH) и на материлизацию. Я подозреваю что это будет агрегировано в одном блоке. Кроме того ещё может помочь оценочные затраты на отдельные операции в explain плане такие как cost и cardinality + хорошо бы иметь оценочные затраты памяти на сортировку и хэш таблицу. Ещё было бы хорошо в explain плане видеть селективность индексов и предикатов, потому как некоторые предикаты такие как field between 1 and 5 оперируют некими константами и их неплохо было бы видеть для понимания почему такой план построен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 10:31 |
|
||
|
select ... from <some_complex_sp>: работает долго, а в где именно затык - непонятно
|
|||
|---|---|---|---|
|
#18+
ТаблоидНе хватает аналога ораклового dbms_hprof помнится была идея сделать системную функцию для вывода произвольного пользовательского сообщения в трейс (хотя это и не то же самое, но иногда могло бы помочь) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2014, 10:34 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38648438&tid=1563580]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
180ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 515ms |

| 0 / 0 |
