| 0
    
        moneyget   08.06.14✎ 21:40 | 
        Добрый день
 Все работало, но база выросла и начал тупить (долго выполнятся) вот такой запрос
 
 
 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
 
 все ок, работает быстро, если убрать только одну из этих строк, тупит. Т.е. проблема в них.
 
 
 Благодарю всех откликнувшихся.
 |  | 
    
        | 1
    
        Necessitudo   08.06.14✎ 21:49 | 
        А если все без группировки и сортировки поместить во временную таблицу, проиндексировав ее по полям группировки-сортировки, а потом уже и сделать сии действия на данных временной таблицы?     |  | 
    
        | 2
    
        sda553   08.06.14✎ 22:06 | 
        У тебя какой то из джойнов тупит.
Сверху (временно) в селекте оставь только p.*
 И потом эти лефт джойны все закомменть. Если скорость ок(а иначе странно), то раскомментивай по очереди и смотри, кто затупил
 |  |