现在我有了这个查询
POST
但是,如果我将使用EXPLAIN命令检查此查询,我会看到哪个查询不是优化的。请帮我优化我的查询http://joxi.ru/DmBEd5puNoVJBr?d=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
。