> 데이터 베이스 > MySQL 튜토리얼 > mysql에 여러 btree 인덱스를 추가하는 방법

mysql에 여러 btree 인덱스를 추가하는 방법

anonymity
풀어 주다: 2019-05-27 15:11:52
원래의
4496명이 탐색했습니다.

현재 대부분의 데이터베이스 시스템과 파일 시스템은 B-Tree 또는 그 변형 B+Tree를 인덱스 구조로 사용합니다.

1. B+ 트리는 루트 노드에서 각 리프 노드까지의 높이 값이 1을 초과하지 않으며, 동일한 레벨의 노드를 연결하는 포인터가 있습니다.

2. tree의 경우 루트 노드에서 리프 노드까지의 검색 효율성은 기본적으로 동일하며 큰 변동이 없습니다. 또한 인덱스 기반의 순차 검색 중에 양방향 포인터를 사용하여 왼쪽과 오른쪽으로 빠르게 이동할 수도 있습니다. 이는 매우 효율적입니다.

mysql에 여러 btree 인덱스를 추가하는 방법

mysql에서는 인덱스를 사용하면 효과적으로 쿼리 효율성을 높일 수 있지만 실제 프로젝트에서는 where 조건에 인덱스를 추가해도 인덱스가 사용되지 않는 경우가 있습니다.

예: where id=3 and price>100; //ID가 3,100위안 이상인 상품 조회(id,price는 각각 인덱스가 추가됨)

오해: id,price 중 하나만 사용할 수 있는 것은 독립된 인덱스이므로 이전 인덱스만 사용할 수 있습니다. 동시에 .

조인트 인덱스: 여러 열에 동시에 인덱스를 생성한 후 인덱스를 사용하기 전에 왼쪽 접두사 원칙을 충족해야 합니다.

인덱스(a, b, c)를 예로 들어 보겠습니다. (순서에 따라 다름)

명령문 | 인덱스 사용 여부

where a=3 예, a 열만 사용됩니다

where a=3 및 =5 예, a 열이 사용됩니다

where a=3 및 b=4 및 c=5 예, abc가 사용됩니다

여기서 b=3 또는 c=4입니다. 아니요. 왜냐하면 a가 건너뛰기 때문입니다

여기서 a=3 및 c =4 a는 인덱스를 사용하고 c는 사용할 수 없습니다

여기서 a=3이고 b는 'hello%'와 같이 a가 사용되고, 부분 b가 사용됩니다

위 내용은 mysql에 여러 btree 인덱스를 추가하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿