기술나눔

MySql 성능 튜닝 01-[데이터 구조 및 인덱스]

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

지수가 뭐야?

여기에 이미지 설명을 삽입하세요.

인덱스 유형

在Mysql中索引是在存储引擎层实现的,而不是在服务层实现的

  • 데이터 구조에 따라: B 트리 인덱스, 해시 인덱스, 전체 텍스트 인덱스
  • 저장 구조에 따라: 클러스터형 인덱스, 비클러스터형 인덱스
  • 필드 특성에 따라 기본 키 인덱스, 고유 인덱스, 일반 인덱스, 전체 텍스트 인덱스
  • 필드 수에 따라: 싱글톤 인덱스, 조인트 인덱스

일반적인 인덱스 데이터 구조 및 차이점

  • 이진 트리, 레드-블랙 트리, B-트리, B-수
  • 차이점: 트리의 높이는 데이터 획득 성능에 영향을 미칩니다. (각 트리 노드는 디스크 IO입니다.)

이진 트리

특징:각 노드에는 최대 2개의 하위 노드가 있으며, 왼쪽이 더 작고 오른쪽이 더 큽니다. . 데이터가 무작위일 때 분기가 더 명확해집니다.

다음 테이블의 ID를 인덱스로 설정
就是将id列按照二叉树的数据结构存储起来
여기에 이미지 설명을 삽입하세요.
한 번에 하나씩 순차적으로 데이터를 입력하는 경우
트리의 높이가 매우 높을 것입니다(연결된 목록 구조입니다). 이 때 요소 검색 효율성은 연결 목록 쿼리 O(n)과 동일하며 데이터 검색 효율성은 매우 낮습니다.
여기에 이미지 설명을 삽입하세요.

레드 블랙 트리