정렬 작업 중에 색인을 사용하여 정렬할 수 있으면 정렬 속도를 크게 향상시킬 수 있습니다. 색인을 정렬에 사용하려면 다음 두 가지 사항을 충족해야 합니다.
1. ORDER BY 절 뒤의 열 순서는 결합된 인덱스의 열 순서와 일치해야 하며, 모든 정렬 열의 정렬 방향(정방향/역순)이 일치해야 합니다.
2. 값은 인덱스 열에 포함되어야 하며 포함 인덱스를 만족합니다.
추천 과정: MySQL 튜토리얼.
예제를 통해 분석해보겠습니다
user_test
테이블에 결합 인덱스 생성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에서 인덱스를 어떻게 사용하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!