|
|
|
Ускорить запрос с несколькими джоинами с пагинацией
|
|||
|---|---|---|---|
|
#18+
Есть таблица master, и таблицы detail_1, detail_2, detail_3, detail_4. В master и detail_1, detail_3, detail_4 порядка 15к строк, в detail_2 порядка 500 строк. Запрос вида Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Индексы есть по всем FK_ID и d1.Name1, d2.Name2. Работает очееень медленно. Как ускорить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 15:31 |
|
||
|
Ускорить запрос с несколькими джоинами с пагинацией
|
|||
|---|---|---|---|
|
#18+
arCHi_1887, Стандартные средства для постраничного просмотра не подошли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 15:40 |
|
||
|
Ускорить запрос с несколькими джоинами с пагинацией
|
|||
|---|---|---|---|
|
#18+
План такой: Код: 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. 30. 31. 32. 33. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 15:43 |
|
||
|
Ускорить запрос с несколькими джоинами с пагинацией
|
|||
|---|---|---|---|
|
#18+
Прошу прощения, опечатался в джоине :) Не так уже медленно работает в итоге ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 16:15 |
|
||
|
Ускорить запрос с несколькими джоинами с пагинацией
|
|||
|---|---|---|---|
|
#18+
EgoрarCHi_1887, Стандартные средства для постраничного просмотра не подошли? ++ Нафига сервер нагружать работой клиента? А теперь вопрос, что произойдёт, если пока Вы выбираете следующую/предыдущую страницу, отработает job который почистит 30% записей? p.s. как то клиент жаловался, что ОЧЕНЬ медленно работает приложение, которое портировали с BTREE 4 девочки оператора загружали по самое нимогу неслабый сервер. Доходило до того, что при скоростном, слепом вводе документа, оператор обгонял сервер на 5-6 форм. То есть оператор заканчивал печатать, а формочки все появлялись и появлялись :) Разбор полетов показал, разработчик воспользовался автоматическим портированием приложения, и на любое нажатие клавиши, следовало select roiwid ... + очень "удобная" функция, подсказки доступных значений поля по мере ввода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 17:08 |
|
||
|
Ускорить запрос с несколькими джоинами с пагинацией
|
|||
|---|---|---|---|
|
#18+
Vadim LejninНафига сервер нагружать работой клиента? Клиент клиенту рознь, особливо в трехзвенке. Сильно беспокоят беспокойные соседи? Можно повысить ставки до repeatable read. ...с 12 можно пользовать row_limiting_clause , что упрощает кодинг и последующий саппорт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 19:53 |
|
||
|
Ускорить запрос с несколькими джоинами с пагинацией
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous...с 12 можно пользовать row_limiting_clause , что упрощает кодинг и последующий саппорт.... и усложняет performance tuning во многих случаях делая невозможным достичь той же производительности с row_limiting_clause как без нее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 20:30 |
|
||
|
Ускорить запрос с несколькими джоинами с пагинацией
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop... и усложняет performance tuning во многих случаях делая невозможным достичь той же производительности с row_limiting_clause как без нее. Прям таки во многих? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 20:39 |
|
||
|
Ускорить запрос с несколькими джоинами с пагинацией
|
|||
|---|---|---|---|
|
#18+
arCHi_1887Есть таблица master, и таблицы detail_1, detail_2, detail_3, detail_4. В master и detail_1, detail_3, detail_4 порядка 15к строк, в detail_2 порядка 500 строк. Запрос вида Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Индексы есть по всем FK_ID и d1.Name1, d2.Name2. Работает очееень медленно. Как ускорить? Ну первое что напрашивается, а что Вы хотите получить такой конструкцией? 1. sq1 - отсортирован - Ok 2. where RowNum <= :RightPageRange - развалит сортировку и RowNum RN будет находиться в хаосе 3. where RN >= :LeftPageRange - выберет какое-то количество строк из смеси 4. order by nvl(d1.Name1, d2.Name2) - отсортирует выбранные На выходе Вы будете играть в угадайку, а не постраничный вывод, что следовало из названия переменных Если Вы не пишите кнопку "Мне повезет", лучше перепишите селект правильно. З.Ы. Для ускорения можете таблицы не учавствующие в этапе сортировки и первичных условий вывести в верхний селект ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 22:20 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39629240&tid=1884145]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
57ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 364ms |

| 0 / 0 |
