|
Оптимизация запроса
|
|||
---|---|---|---|
#18+
есть запрос Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Выполняется секунд 15-20 Можно ли его оптимизировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 09:04 |
|
Оптимизация запроса
|
|||
---|---|---|---|
#18+
Ох!!! даже не понял как такая простыня вышла то.... Извините.. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 09:05 |
|
Оптимизация запроса
|
|||
---|---|---|---|
#18+
Применение DISTINCT равноценно группировке по всем полям. Без него должно быть быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 09:10 |
|
Оптимизация запроса
|
|||
---|---|---|---|
#18+
Кривцов АнатолийПрименение DISTINCT равноценно группировке по всем полям. Без него должно быть быстрее. Да, быстро - секунды 2-3. Но в итоге получается неверно.... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 09:14 |
|
Оптимизация запроса
|
|||
---|---|---|---|
#18+
Если убрать поля, получаемые через IIFы и оставить DISTINCT, то тоже быстро.... Но они нужны( ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 09:16 |
|
Оптимизация запроса
|
|||
---|---|---|---|
#18+
Serg197311даже не понял как такая простыня вышла то...А не надо спешить - надо пользоваться кнопкой "Просмотр". Тот же запрос, но форматированный: Код: 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.
Ну и сразу виден источник тормозов - это коррелированные подзапросы. И, возможно, отсутствие подходящих для связывания индексов. Переписывайте подзапросы на джойны. Создайте необходимые индексы. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 09:16 |
|
Оптимизация запроса
|
|||
---|---|---|---|
#18+
Akina Ну и сразу виден источник тормозов - это коррелированные подзапросы. Спасибо! Akina И, возможно, отсутствие подходящих для связывания индексов. Все таблицы имеют ключевое поле, связи по этим полям строго. AkinaПереписывайте подзапросы на джойны. Сейчас попробую..... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 09:21 |
|
Оптимизация запроса
|
|||
---|---|---|---|
#18+
Не получается... так как запросы Код: sql 1. 2.
могут возвращать несколько значений.... В итоге записи задваиваются, и дерево не строится.... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 09:51 |
|
Оптимизация запроса
|
|||
---|---|---|---|
#18+
Serg197311запросы ... могут возвращать несколько значений.... В итоге записи задваиваются, и дерево не строится.... Ну собственно для этого придумали GROUP BY. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 10:13 |
|
Оптимизация запроса
|
|||
---|---|---|---|
#18+
Такой запрос можно переписать так Serg197311 Код: sql 1.
Хватит и первого попавшегося значения... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 10:20 |
|
Оптимизация запроса
|
|||
---|---|---|---|
#18+
Serg197311Кривцов АнатолийПрименение DISTINCT равноценно группировке по всем полям. Без него должно быть быстрее. Да, быстро - секунды 2-3. Но в итоге получается неверно.... Неверно, это дублируются записи? Значит у вас присутствует связь многие-ко многим. Ищите причину. В качестве костыля можно вместо DISTINCT попробовать группировку по основным полям и First по остальным (в первую очередь поля с подзапросами). ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 11:06 |
|
Оптимизация запроса
|
|||
---|---|---|---|
#18+
Serg197311Выполняется секунд 15-20 Можно ли его оптимизировать?У Вас в запросе использовано несколько таблиц-хотелось бы видеть фрагмент БД с этими таблицами(3-5 строками данных) и какую информацию Вы хотите извлечь запросом ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 12:34 |
|
Оптимизация запроса
|
|||
---|---|---|---|
#18+
Сделал по совету Akina Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Раньше запрос выполнялся 25 сек, теперь 1-2. Вопрос решен! Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2019, 07:45 |
|
|
start [/forum/topic.php?fid=45&msg=39867157&tid=1610449]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 331ms |
total: | 466ms |
0 / 0 |