表结构如下:
表数据如下:
加了一个组合索引:
查看资料说:
查询中某个列有范围查询,则其右边的所有列都无法使用查询
我的查询语句及结果分析如下(测试了两条语句):
1.
EXPLAIN
SELECT
*
FROM
user_test
WHERE
user_name > 'haha'
AND age = 50
AND gender =1
2.
EXPLAIN
SELECT
*
FROM
user_test
WHERE
user_name = 'haha'
AND age > 50
AND gender =1
上面到底是用没用到索引? key和possible_keys都有值 但是ref没有值 看不太懂了!!!
扫描的行数都很少rows=1,2, 说明效率很好,要么是数据很少(?). 应该都是用到索引了
关于explain返回的表里type, key, ref的解释
可以看这里
http://bbs.csdn.net/topics/39...