SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 02.04.2012 10:47:38

Mcr
Участник
Зарегистрирован: 02.04.2012
Сообщений: 1

Оптимизация

Здраствуйте уважаемые пользователи MySQL!!! вот у меня есть маленький запросик который достался мне по наследству, мне нужно сделать рефакторинг кода чтобы быстрее грузилась таблица! Помогите пожалуйста! Что нужно поменять или добавить для быстрой загрузки таблици? Вот код запроса!

SELECT
    a.id_m, CONCAT(a.naim, '(', IFNULL(b.cnt, 0),'/',ROUND(IFNULL(b.tn,0),2),')') AS naim, MAX(IFNULL(b.priznak_tormoz,0)) AS priznak_tormoz
FROM stad_main a
LEFT JOIN
(
    SELECT COUNT(*) AS cnt, id_m_out,SUM(IFNULL(cc.tn,0)) AS tn,i.sorder_id,MAX(IFNULL(ff.priznak_tormoz,0)) AS priznak_tormoz  FROM
        (
         SELECT DISTINCT sorder_id, id_m_out FROM stad_stadii
         WHERE stad_is_ready(sorder_id, id_m_out) = 1  AND sorder_id NOT IN (6188407)
         ) i
    LEFT JOIN
    (SELECT SUM(IFNULL(c.tn,0)) AS tn,c.sorder_id FROM stad_zakaz_info c GROUP BY c.sorder_id) cc ON cc.sorder_id=i.sorder_id
     LEFT JOIN
    (SELECT CASE WHEN DATE(MAX(f.date_d)) < (CURDATE() - INTERVAL 2 DAY) THEN 1 ELSE 0 END  AS priznak_tormoz,f.sorder_id FROM stad_hist f GROUP BY f.sorder_id) ff ON ff.sorder_id=i.sorder_id
       GROUP BY id_m_out-- ,i.sorder_id
       
) b ON b.id_m_out = a.id_m
 WHERE stad_check_access(a.id_m, '${router:UID}', 'read')
 GROUP BY   a.id_m

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson