Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите оптимизировать запрос / 7 сообщений из 7, страница 1 из 1
08.06.2014, 21:39:03
    #38664777
Alex_U223
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите оптимизировать запрос
Добрый день

Все работало, но база выросла и начал тупить (долго выполнятся) вот такой запрос


SELECT p.*, up.imageurl as avatar, u.login as userlogin, u.nickname as nickname,
(SELECT COUNT(ap.id) FROM cms_freelance_aps ap LEFT JOIN cms_users au ON au.id = ap.user_id WHERE ap.project_id = p.id AND au.is_deleted = 0 AND au.is_locked = 0) as enrcount,
(SELECT COUNT(ad.id) FROM cms_freelance_aps ad WHERE ad.project_id = p.id) as added
FROM cms_freelance_projects p
LEFT JOIN cms_users u ON u.id = p.user_id
LEFT JOIN cms_user_profiles up ON up.user_id = p.user_id
LEFT JOIN cms_freelance_aps a ON a.project_id = p.id
WHERE p.published <> -1 AND u.is_deleted = 0 AND u.is_locked = 0
GROUP BY p.id
ORDER BY p.published DESC, p.id DESC


Если убрать

GROUP BY p.id
ORDER BY p.published DESC, p.id DESC

все ок, работает быстро, если убрать только одну из этих строк, тупит. Т.е. проблема в них.


Благодарю все откликнувшихся.
...
Рейтинг: 0 / 0
08.06.2014, 22:48:10
    #38664815
MikkiMouse
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите оптимизировать запрос
Alex_U223,

бл?*:!, какие-то подзапросы, левые джойны, шо попало.
И тут "оно у меня тормозит!"
Ну а ты как думал? Перепиши по-людски, не будет тормозить
...
Рейтинг: 0 / 0
09.06.2014, 01:48:28
    #38664855
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите оптимизировать запрос
авторGROUP BY p.id

эпично.
...
Рейтинг: 0 / 0
09.06.2014, 05:02:51
    #38664866
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите оптимизировать запрос
ScareCrowавторGROUP BY p.id

эпично.left join в подзапросе не менее эпичен, если приглядеться к секции where
...
Рейтинг: 0 / 0
09.06.2014, 06:54:50
    #38664886
Alex_U223
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите оптимизировать запрос
Так не я это писал, но разбираться мне, хотя в SQL не шарю, вот и пишу...
...
Рейтинг: 0 / 0
09.06.2014, 06:56:13
    #38664887
Alex_U223
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите оптимизировать запрос
тупит
LEFT JOIN cms_freelance_aps a ON a.project_id = p.id

даже не пойму зачем он без него тоже количество строк и полей...
...
Рейтинг: 0 / 0
09.06.2014, 09:13:47
    #38664942
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите оптимизировать запрос
Alex_U223Так не я это писал, но разбираться мне, хотя в SQL не шарю, вот и пишу...
Вот и разбирайтесь. Не шарите - изучайте.

Запрос - бред на бреде и бредом погоняет. Пока не развернёте его, ориентируясь не на этот бредовый текст, а на требуемую логику построения результата - ничего путного не получите. Т.е. запрос надо писАть заново, с нуля, а не оптимизировать.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите оптимизировать запрос / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]