我启用了慢查询日志来记录运行时间超过 2 秒的查询以及不使用索引的日志查询
我注意到一些使用索引的频繁查询继续出现在日志中
示例查询
SELECT `a`.`orderid`, `a`.`date`, `a`.`status`, `a`.`restname`, `a`.`admin_user`, `a`.`model_type`, `b`.`name` as cityname
FROM `tk_order` AS a
INNER JOIN `tk_city` AS b ON `a`.`cityid` = `b`.`id`
WHERE `a`.`date` = '2012-04-09'
AND `a`.`status` = 0
AND `a`.`mode` = 3
ORDER BY `a`.`orderid` desc;
上面的查询我为(日期、状态、模式)添加了一个复合索引,当我运行解释时,这是输出
1 SIMPLE a ref cityid,date_3 date_3 4 const,const 6 Using where; Using temporary; Using filesort
1 SIMPLE b index PRIMARY,id id 52 2 Using where; Using index; Using join buffer
订单表有大约 100000 条记录,不知道我在这里做错了什么。