旗下导航:搜·么
当前位置:网站首页 > MySQL教程 > 正文

mysql怎样运用索引?【MySQL教程】,mysql

作者:搜教程发布时间:2019-12-01分类:MySQL教程浏览:59评论:0


导读:在排序操纵中假如能运用到索引来排序,那末能够极大的进步排序的速率,要运用索引来排序须要满足以下两点即可。1、ORDERBY子句后的列递次要与组合索引的列递次一致,且一切排...
在排序操纵中假如能运用到索引来排序,那末能够极大的进步排序的速率,要运用索引来排序须要满足以下两点即可。

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怎样运用索引?的细致内容,更多请关注ki4网别的相干文章!

标签:mysql


欢迎 发表评论: