인덱스를 사용할 수 있지만 아직 사용되지 않음 - MySQL
P粉668019339
P粉668019339 2024-03-31 09:51:35
0
1
428

하나의 쿼리에 대해 특별히 인덱스를 생성했지만 쿼리를 실행하는 데 5~6초가 걸리는 것으로 나타났습니다. 다음 쿼리를 사용하여 사용되지 않는 인덱스를 가져오려고 했더니 해당 인덱스가 사용되지 않은 인덱스 목록에 나열되어 있는 것을 확인했습니다. 다음 쿼리에 대해 더 나은 성능을 얻는 방법을 제안하십시오.

where 절 쿼리: WHERE parsedjobdescription IS NOT NULL AND is_updated != 0

색인: KEYidx_jobs_feed_parsedjobdescription_is_updated((parsedjobdescription(700),is_updated)parsedjobdescription(700),

is_updated)

SELECT * FROM sys.schema_unused_indexes;

사용되지 않은 인덱스: SELECT * FROM sys.schema_unused_indexes;

parsedjobdescription varchar(50000) DEFAULT NULL is_updated tinyint(1) DEFAULT '0'

열: 구문 분석된 작업 설명 varchar(50000) DEFAULT NULL is_updatedtinyint(1) DEFAULT '0'

쿼리 설명:

가능한 키: idx_jobs_feed_parsedjobdescription_is_updated, idx_is_updated

키: idx_jobs_feed_parsedjobdescription_is_updated

키 길이: 703

줄 수: 1

🎜필터: 50.0🎜
P粉668019339
P粉668019339

모든 응답(1)
P粉232793765

인덱싱된 두 열을 사용하지 말아야 할 세 가지:

  • IS NOT NULL - 범위에 도달하면 나머지 열은 사용되지 않습니다.

  • is_updated != 0 -- 이것도 "범위"입니다.

  • 색인 접두사에 문제가 있습니다.

    으아악

테스트가 is_updated = 1인 경우 색인을 뒤집거나 다른 색인을 추가할 수 있습니다.

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿