需要优化SQL查询

时间:2018-02-08 11:59:53

标签: mysql sql query-optimization

现在我有了这个查询

POST

但是,如果我将使用EXPLAIN命令检查此查询,我会看到哪个查询不是优化的。请帮我优化我的查询http://joxi.ru/DmBEd5puNoVJBr?d=1

我希望从我的查询中排除大计数操作,可能是加入或任何

1 个答案:

答案 0 :(得分:0)

WHERE MONTH(r.created) = MONTH(CURRENT_DATE()) 
  AND YEAR( r.created) = YEAR( CURRENT_DATE())

- >

WHERE r.created >= CURDATE() - INTERVAL DAYOFMONTH(CURDATE)-1 DAY
  AND r.created <  CURDATE() - INTERVAL DAYOFMONTH(CURDATE)-1 DAY + 1 MONTH

这将使索引有机会被使用。

INDEX(created, domain_id)可能有帮助。

ORDER BY d_lider在派生表中被忽略。

请在ON中放置显示表格相关内容的内容。把剩下的部分放在WHERE

如果不需要LEFT,请使用INNER;它可以帮助优化。

请避免使用r作为外部查询和子查询的别名 - 这使得人类难以解析。

尽可能将子查询转换为JOINs

要进一步讨论,请使用任何有意义的更改来更新问题,并请提供SHOW CREATE TABLE