MySQL 연합 색인 기능 및 용법 실례 분석
연합 색인 은 복합 색인 이 라 고도 부른다.복합 색인:Mysql 은 왼쪽 에서 오른쪽으로 색인 필드 를 사용 합 니 다.하나의 검색 은 색인 중의 일부분 만 사용 할 수 있 지만 맨 왼쪽 부분 만 사용 할 수 있 습 니 다.예 를 들 어 색인 은 key index(a,b,c)입 니 다.a|a,b|a,b,c 3 가지 조합 을 지원 하여 찾 을 수 있 지만 b,c 를 지원 하지 않 습 니 다.맨 왼쪽 필드 가 상수 참조 일 때 색인 은 매우 유효 합 니 다.
두 개 이상 의 열 에 있 는 색인 을 복합 색인 이 라 고 합 니 다.
색인 에 있 는 추가 열 을 이용 하여 검색 범 위 를 좁 힐 수 있 지만 두 열 이 있 는 색인 을 사용 하 는 것 은 두 개의 단독 색인 을 사용 하 는 것 과 다 릅 니 다.복합 색인 의 구 조 는 전화번호 부 와 유사 하 며,인명 은 성과 이름 으로 구성 되 어 있 으 며,전화번호 부 는 먼저 성씨 에 따라 정렬 한 다음,이름 에 따라 같은 성 을 가 진 사람 을 정렬 한다.성 을 알 고 있다 면 전화번호 부 는 매우 유용 할 것 입 니 다.성과 이름 을 알 면 전화번호 부 는 더욱 유용 하지만 이름 만 알 고 있 으 면 전화번호 부 는 쓸모 가 없습니다.
그래서 복합 색인 을 만 들 때 열의 순 서 를 자세히 고려 해 야 한다.색인 에 있 는 모든 열 을 검색 하거나 앞의 열 만 검색 할 때 복합 색인 이 매우 유용 합 니 다.뒤의 임의의 열 만 검색 할 때 복합 색인 은 쓸모 가 없습니다.
예 를 들 어 이름,연령,성의 복합 색인 을 만 듭 니 다.
create table test(
a int,
b int,
c int,
KEY a(a,b,c)
);
: select * from test where a=10 and b>50
: select * from test where a>50
: select * from test order by a
: select * from test order by b
: select * from test order by c
: select * from test where a=10 order by a
: select * from test where a=10 order by b
: select * from test where a=10 order by c
: select * from test where a>10 order by a
: select * from test where a>10 order by b
: select * from test where a>10 order by c
: select * from test where a=10 and b=10 order by a
: select * from test where a=10 and b=10 order by b
: select * from test where a=10 and b=10 order by c
: select * from test where a=10 and b=10 order by a
: select * from test where a=10 and b>10 order by b
: select * from test where a=10 and b>10 order by c
색인 원칙
1.색인 이 적 을 수록 좋다
원인:주로 데 이 터 를 수정 할 때 첫 번 째 색인 을 업데이트 하여 쓰기 속 도 를 낮 춰 야 합 니 다.
2.가장 좁은 필드 는 키 의 왼쪽 에 놓 기
3.file sort 정렬,임시 표 와 표 스 캔 을 피 합 니 다.
더 많은 MySQL 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.,,,,,,,
본 논문 에서 말 한 것 이 여러분 의 MySQL 데이터베이스 계획 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.최근 redash에서 sql을 쓸 기회가 많고, 이런 쓰는 방법이 있었는지와 sql에 대해 공부를 다시하고 있기 때문에 배운 것을 여기에 씁니다. Redash란? 월별로 데이터를 표시하고 싶습니다 주별로 데이터를 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.