mysql怎么运用索引?
发布时间:08/01 来源:未知 浏览:
关键词:
1、ORDER BY子句后的列次序要与组合索引的列次序一致,且所有排序列的排序标的目的(正序/倒序)需一致
2、所查询的字段值需要包括在索引列中,及知足遮盖索引
举荐课程:MySQL教程。
通过例子来概括剖析
在user_test表上新建一个组合索引
ALTER TABLE user_test ADD INDEX index_user(user_name , city , age);
可以运用到索引排序的案例
SELECT user_name, city, age FROM user_test ORDER BY user_name; SELECT user_name, city, age FROM user_test ORDER BY user_name, city; SELECT user_name, city, age FROM user_test ORDER BY user_name DESC, city DESC; SELECT user_name, city, age FROM user_test WHERE user_name = 'feinik' ORDER BY city;
注:第4条sql语句比拼特别一点,要是where查询前提为索引列的首先列,且为常量前提,那么也可以运用到索引。
没法运用索引排序的案例
sex不在索引列中
SELECT user_name, city, age FROM user_test ORDER BY user_name, sex;
排序列的标的目的纷歧致
SELECT user_name, city, age FROM user_test ORDER BY user_name ASC, city DESC;
所要查询的字段列sex没有包括在索引列中
SELECT user_name, city, age, sex FROM user_test ORDER BY user_name;
where查询前提后的user_name为范畴查询,所以没法运用到索引的其他列
SELECT user_name, city, age FROM user_test WHERE user_name LIKE 'feinik%' ORDER BY city;
以上就是mysql怎么运用索引?的细致内容,更多请关注 百分百源码网 其它相干文章!