|
|
|
Оптимизация в Hibernate
|
|||
|---|---|---|---|
|
#18+
У меня возникла проблема со скоростью в web-приложении с применением Hibernate. SQL запрос, который выполняется в Toad за 2 секунды, в приложении выполняется в разы медленнее. Посоветуйте, где можно покопаться над повышением быстродействия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 12:15 |
|
||
|
Оптимизация в Hibernate
|
|||
|---|---|---|---|
|
#18+
попробуй ручками оптимизировать sql запросы. а какая БД? Какой объем записей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 12:18 |
|
||
|
Оптимизация в Hibernate
|
|||
|---|---|---|---|
|
#18+
Приведите trace к серверу Приведи настройки SessionFactory ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 12:55 |
|
||
|
Оптимизация в Hibernate
|
|||
|---|---|---|---|
|
#18+
База - Oracle. to chernolyas: Не понял, зачем ручками оптимизировать запрос, вопрос в другом : почему разница в разы при выполнении в Toad и Hibernate. Не в пользу последнего. to funikovyuri: Тормозит на коде Код: plaintext Нужны ли еще trace при таком уточнении? Настройки SessionFactory : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. P.S. Установка use_reflection_optimizer в true на скорость не влияет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 15:45 |
|
||
|
Оптимизация в Hibernate
|
|||
|---|---|---|---|
|
#18+
да. ... тогда странно. ну тут можно посоветовать повнимательнее почитать логи, которые пишет hibernate. возможно там будет виднее что действительно тормозит. Само выполнение запроса или мапинг обектов на основании resultset'а. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 16:36 |
|
||
|
Оптимизация в Hibernate
|
|||
|---|---|---|---|
|
#18+
chernolyasну тут можно посоветовать повнимательнее почитать логи, которые пишет hibernate А если ничего подозрительного не найдете, не забудьте отключить логи (а также show_sql). Они сами по себе резко ухудшают производительность - по понятной, надеюсь. причине. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2006, 00:15 |
|
||
|
Оптимизация в Hibernate
|
|||
|---|---|---|---|
|
#18+
В общем Hibernate оказался ни причем. В Toad в запросе я использовал такую конструкцию: Код: plaintext 1. А в Hibernate конструкция была несколько сложнее: Код: plaintext 1. Так вот выяснилось, что если я подставляю значения как тип Timestamp, то запрос выполняется значительно медленнее, чем если подставлять строки в запрос типа: Код: plaintext 1. Пробовал через jdbc выполнить, результат тот же. Значит проблема не в Hibernate... Сейчас я в задумчивости, почему же так происходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 15:28 |
|
||
|
Оптимизация в Hibernate
|
|||
|---|---|---|---|
|
#18+
а поля в таблице какого типа? И еще думаю стоит план запроса посмотреть!? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 15:31 |
|
||
|
Оптимизация в Hibernate
|
|||
|---|---|---|---|
|
#18+
Тип таблицы обычный. Планы одинаковые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2006, 10:41 |
|
||
|
Оптимизация в Hibernate
|
|||
|---|---|---|---|
|
#18+
Pomytkin EvgenyВ общем Hibernate оказался ни причем. В Toad в запросе я использовал такую конструкцию: Код: plaintext 1. А в Hibernate конструкция была несколько сложнее: Код: plaintext 1. Так вот выяснилось, что если я подставляю значения как тип Timestamp, то запрос выполняется значительно медленнее, чем если подставлять строки в запрос типа: Код: plaintext 1. Пробовал через jdbc выполнить, результат тот же. Значит проблема не в Hibernate... Сейчас я в задумчивости, почему же так происходит? какого типа поле x.begindate в табличке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2006, 22:14 |
|
||
|
Оптимизация в Hibernate
|
|||
|---|---|---|---|
|
#18+
to funikovyuri: посмотрел более внимательно - планы одинаковые, но стоимость разная: где используется to_date, стоимость меньше. Это на Oracle8i. А на тестовом сервере с Oracle 10g еще интересней - планы разные: где используется to_date, стоимость меньше и он короче. to Sleepy_PIP: Date ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2006, 15:57 |
|
||
|
Оптимизация в Hibernate
|
|||
|---|---|---|---|
|
#18+
1. Снова проверить планы запросов 2. Проверить трейс к серверу 3. Проверить этот же запрос на вашем jdbc драйвере но без hibernate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2006, 22:16 |
|
||
|
Оптимизация в Hibernate
|
|||
|---|---|---|---|
|
#18+
to funikovyuri: Все это я уже делал. 1. Планы различаются ТОЛЬКО стоимостью. 2. Исходя из анализа трейса время тратится в основном на fetch. Пропорции cpu/fetch как в медленном, так и в быстром приблизительно одинаковое 3/7 3. При выполнении через jdbc имеет та же проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2006, 11:41 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33594032&tid=2149866]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
442ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 756ms |

| 0 / 0 |
