3 / 3 / 1
Регистрация: 22.10.2014
Сообщений: 106
|
||||||
1 | ||||||
Запрос работает очень медленно20.08.2015, 08:58. Показов 7703. Ответов 11
Метки нет (Все метки)
Помогите мне ускорить работу запроса. Сам запрос имеет такой вид
0
|
20.08.2015, 08:58 | |
Ответы с готовыми решениями:
11
Urllib работает очень медленно (> 4 секунд на запрос) Интернет работает очень медленно на одном ПК, на другом работает быстрее. Очень медленно работает 1С 8.3? Очень медленно работает ПК |
11 / 11 / 7
Регистрация: 23.07.2015
Сообщений: 62
|
|
20.08.2015, 09:33 | 2 |
лучше приведи запрос в оригинале, без "подзапрос" и "столбец"
0
|
3 / 3 / 1
Регистрация: 22.10.2014
Сообщений: 106
|
|
20.08.2015, 09:47 [ТС] | 3 |
Тут в запросе куча самописных функций, которые только запутают. Надо вроде вот это (+)= джойнами заменить может быстрее будет.
0
|
11 / 11 / 7
Регистрация: 23.07.2015
Сообщений: 62
|
||||||
20.08.2015, 09:57 | 4 | |||||
ничего быстрее не будет, (+) оракловая интерпретация join'а
при желании можно заменить для читабельности Добавлено через 1 минуту
1
|
8 / 8 / 5
Регистрация: 20.10.2013
Сообщений: 49
|
|
20.08.2015, 10:00 | 5 |
Надо комментить отдельные части запроса для локализации лагов. А потом индексы повесить, например, куда надо. Буквально вчера запрос длинной в 6 минут так сократил до секунд 3х.
0
|
11 / 11 / 7
Регистрация: 23.07.2015
Сообщений: 62
|
|
20.08.2015, 10:08 | 6 |
еще можно посмотреть план запроса и проверить запрос профайлером, он покажет что именно больше всего тормозит запрос
0
|
3 / 3 / 1
Регистрация: 22.10.2014
Сообщений: 106
|
||||||
20.08.2015, 12:04 [ТС] | 7 | |||||
Комментить пробовал. Лаги появляется когда в запросе участвуют соединения подзапросов. На подзапрос индекс можно как-нибудь установить? или он только для таблиц предназначен? Вот сам запрос, если интересно.
0
|
8 / 8 / 5
Регистрация: 20.10.2013
Сообщений: 49
|
|
20.08.2015, 13:16 | 8 |
На подзапросы нельзя. Вешать их надо на те поля таблиц, которые участвуют в подзапросах. Главное не переборщить.
0
|
105 / 49 / 26
Регистрация: 01.09.2014
Сообщений: 140
|
|
20.08.2015, 13:21 | 9 |
Во всех подзапросах участвуют одни и те же таблици, практически с одними и теми же условиями. Может имеет смысл переписать запрос в один?
Как вариант просмотри план выполнения и используй хинты (user hints). Но лучше всетаки переписать запрос, т.к. все сводится к одним и тем же таблицам/функция.
0
|
0 / 0 / 0
Регистрация: 21.08.2015
Сообщений: 3
|
|
21.08.2015, 18:10 | 10 |
план запроса посмотрите
а так-то да, какая-то дичь
0
|
105 / 49 / 26
Регистрация: 01.09.2014
Сообщений: 140
|
|
22.08.2015, 12:56 | 11 |
У тебя не просто обьеденение 4 запросов, у тебя дистинкт стоит для всего селекта, вот он (я так думаю) и дает тебе наибольшую задержку. Если у тебя есть дублирующие строки, то исключи их в подзапросах.
P.S. А лучше и вовсе весь запрос переписать, т.к. одни и теже таблици участвуют в каждом подзапросе.
0
|
22 / 20 / 3
Регистрация: 21.05.2013
Сообщений: 408
|
|
26.08.2015, 08:39 | 12 |
В общем читал я читал ваш запрос и знаете, что у меня предложение могли бы вы рассказать людям чего вы хотите получить какой результат какое задание у вас ТЗ? Так как по запросу не совсем понятно почему написано именно так. Расскажите и может быть народ вам совсем другой запрос напишет, таблицы которые участвуют, что в них, структуры, что в результате надо получить.
А то честно говоря вы тут свою фантазию показываете мне лично трудно понять почему были использованы такие операторы, а не другие и у вас много что повторяется наверняка это можно объединить что уменьшит запрос. Надо так сказать в глубь вопроса заглянуть.
0
|
26.08.2015, 08:39 | |
26.08.2015, 08:39 | |
Помогаю со студенческими работами здесь
12
Почему PDO выполняет простой запрос очень медленно? Очень медленно выполняется запрос SQL на ТСД Windows CE 6.0 Очень медленно работает ноутбук комп очень медленно работает Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |