查询慢

MySql 码拜 9年前 (2015-11-12) 1080次浏览
SELECT *
FROM  `Sale_Order_de` a
WHERE a.`order_status`=””2″”
GROUP BY a.`order_id`
ORDER BY a.`payments_date` DESC
limit  0,10
以上语句要3秒,去掉order by排序就快了
表总记录才6万9千多条而以
payments_date 类型是varchar(50)
排个序要花这么多时间?索引都加了的,问一下怎么优化啊?
解决方案:5分
原因是假如2个都有,那么要先group by,然后再排序选出前10条。
本人觉得你创建这个索引:
create index idx_xx on Sale_Order_de (order_status,order_id,payments_date DESC)
解决方案:5分
语句中没有聚集函数,不需要使用group by
解决方案:5分
你这个不需要group by啊
取消group by,然后建立order_status,payments_date的组合索引
解决方案:5分
GROUP BY ORDER_ID,是去掉重复的,没有问题的,不知道怎么建的,本人用的表有百万条,也没有过1S啊,你的WHERE条件的字段加索引了嘛,没有看到啊

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明查询慢
喜欢 (0)
[1034331897@qq.com]
分享 (0)