그렇습니다. SELECT에서 인덱스가 아닌 열을 쿼리하면 ORDER BY는 인덱스를 사용하지 않습니다. FORCE INDEX를 사용하여 인덱스를 강제로 사용할 수 있습니다. SELECT中查询了索引建以外的列,那么ORDER BY就不会使用索引了。你可以用FORCE INDEX来强制使用索引。
또 하나의 포인트는 이른바 커버링지수. 포함 인덱스의 정의는 다음과 같습니다. MySQL은 결과를 얻기 위해 인덱스를 기반으로 파일을 다시 쿼리하지 않고도 인덱스를 기반으로 select 필드를 반환할 수 있습니다. #🎜🎜#
#🎜🎜#select *를 사용할 때 인덱스를 강제로 지정하지 않고 mysql이 파일을 쿼리하여 쿼리 필드를 가져온 다음 다음을 수행합니다. 정렬 작업은 포함 인덱스를 사용하지 않습니다. 그리고 force index를 사용하면 강제적으로 Covering index를 사용하게 되어 filesort가 발생하지 않게 됩니다. #🎜🎜#
city_id가 기본 키이고 country_id가 복합 기본 키입니다.
이
으로 변경되었습니다. 으아아아그렇습니다.
SELECT
에서 인덱스가 아닌 열을 쿼리하면ORDER BY
는 인덱스를 사용하지 않습니다.FORCE INDEX
를 사용하여 인덱스를 강제로 사용할 수 있습니다.SELECT
中查询了索引建以外的列,那么ORDER BY
就不会使用索引了。你可以用FORCE INDEX
来强制使用索引。还有一点,就是所谓的覆盖索引。覆盖索引的定义是:MySQL可以根据索引返回
select
字段而不用根据索引再次查询文件而得出结果。当你使用
또 하나의 포인트는 이른바 커버링지수. 포함 인덱스의 정의는 다음과 같습니다. MySQL은 결과를 얻기 위해 인덱스를 기반으로 파일을 다시 쿼리하지 않고도 인덱스를 기반으로select *
时,你没有强制指定索引,那么mysql
为了得到你的查询的字段而查询文件,然后再进行排序操作,这就没有用到覆盖索引。而你使用了force index
就会强制使用覆盖索引,这样就不会出现filesort
select
필드를 반환할 수 있습니다. #🎜🎜# #🎜🎜#select *
를 사용할 때 인덱스를 강제로 지정하지 않고mysql
이 파일을 쿼리하여 쿼리 필드를 가져온 다음 다음을 수행합니다. 정렬 작업은 포함 인덱스를 사용하지 않습니다. 그리고force index
를 사용하면 강제적으로 Covering index를 사용하게 되어filesort
가 발생하지 않게 됩니다. #🎜🎜#