SQL语句速度如何优化

多厘 发布于 2013/09/13 17:51
阅读 186
收藏 0

数据条目数:10W条

测试条目1:
SELECT COUNT(itemid) AS num FROM test WHERE username='test'
时间:0.06s

测试条目2:
SELECT COUNT(itemid) AS num FROM mk_test WHERE status=3
时间:0.06s

And 查询
SELECT COUNT(id) AS num FROM test WHERE status=3 and username="test"
时间:0.66s

求教为什么!

测试数据:百度网盘

加载中
0
魔力猫
魔力猫
看执行计划
多厘
多厘
看我的回复,贴图
0
0
八宝旗
八宝旗
没有贴表结构,猜测:前两个应该都是走的索引,最后一个虽然使用索引但需要回表判断
八宝旗
八宝旗
回复 @多厘 : 从explain看,使用索引status,但WHERE status=3 and username="test"中包含username,如果status索引不包含username列,则需要回表进行判断
多厘
多厘
回表判断? 怎么个意思?
返回顶部
顶部