|
Groub by жесток
|
|||
---|---|---|---|
#18+
Всем привет! Есть 3 захитрых запроса связанных через UNION ALL. Каждый из них по отдельности отрабатывает мгновенно. Все вместе через юнион - тоже мгновенно. Но стоит это все завернуть так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
И запрос отрабатывает целых 15!!!! сек. Каждый отдельный запрос завернутый в такую обертку отрабатывает по 7 сек.. Чего можно сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2015, 17:29 |
|
Groub by жесток
|
|||
---|---|---|---|
#18+
ImperousЧего можно сделать? Научиться жать кнопку "Execute and fetch all" вместо простого "Execute" чтобы не бредить насчёт "отрабатывает мгновенно". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2015, 17:31 |
|
Groub by жесток
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovImperousЧего можно сделать? Научиться жать кнопку "Execute and fetch all" вместо простого "Execute" чтобы не бредить насчёт "отрабатывает мгновенно". красава! :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2015, 17:34 |
|
Groub by жесток
|
|||
---|---|---|---|
#18+
В качестве альтернативы можно обратиться к разработчику этой БД со словами "чо ты за фигню тут напроектировал, она дохнет на сколь-либо заметных объёмах, переделай быстронах!" Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2015, 17:50 |
|
Groub by жесток
|
|||
---|---|---|---|
#18+
ImperousЧего можно сделать? ничего. union all просто по очереди выбирает записи из запросов, а внешняя выборка с group by вынуждена все это сохранить в сорт-файле, отсортировать, и выдать обратно результат группировки. Понимание механизма выполнения запросов дает ответ на вопрос "что делать". В данном случае - либо смириться, либо "не делать так". ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2015, 18:00 |
|
Groub by жесток
|
|||
---|---|---|---|
#18+
Все норм, я сразу въехал про fetch all :) и все стало на свои места ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2015, 18:15 |
|
Groub by жесток
|
|||
---|---|---|---|
#18+
Imperous, зависит от природы данных, но может работать шустрее если группировать уже сгруппированные, т.к. не будет большого выходного набора перед последней группировкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 10:55 |
|
Groub by жесток
|
|||
---|---|---|---|
#18+
Imperous, ну ещё не селектить лишних полей внутри, т.к. сервер это не оптимизирует. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 11:01 |
|
Groub by жесток
|
|||
---|---|---|---|
#18+
afgmImperous, ну ещё не селектить лишних полей внутри, т.к. сервер это не оптимизирует. чего-чего? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 13:26 |
|
Groub by жесток
|
|||
---|---|---|---|
#18+
ImperousafgmImperous, ну ещё не селектить лишних полей внутри, т.к. сервер это не оптимизирует. чего-чего? Тест Код: sql 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. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78.
Лишние поля: Sort (record length: 116, key length: 12) vs Sort (record length: 60, key length: 12) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 14:12 |
|
Groub by жесток
|
|||
---|---|---|---|
#18+
afgm Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
А каким инструментом можно получить план в таком виде? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 09:29 |
|
|
start [/forum/topic.php?fid=40&gotonew=1&tid=1562403]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 153ms |
0 / 0 |