[MySQL의 2019년 7월 29일] MySQL의 인덱싱 및 최적화

I. 서론 색인

인덱스 1. 개념

데이터베이스 검색 색인 생성 일부 필드에있는 테이블의 효율성과 가치 개선하는 것입니다 디렉토리 .

2. 인덱스의 역할

  • 크게 쿼리 속도 데이터 (주 인덱스 생성)을 가속화
  • 이오 데이터베이스 비용과 주문 비용을 절감
  • 제한하기 위해 데이터베이스에 데이터를 (고유 인덱스는 데이터의 고유성을 보장하기 위해)
  • 테이블과 테이블 사이의 연결을 가속화

3. 가격 지불 지수를 구축

  • 데이터베이스의 저장 공간을 증가
  • 그것은 당신이 삽입하고 수정할 때 더 오래 걸립니다

4. 분류 색인

  • 일반 인덱스
  • 유일한 인덱스 : 필드 값은 고유해야
  • 자동으로 특별한 고유 인덱스가 기본 키가 생성 생성 : 기본 키 인덱스를
  • 전체 텍스트 색인 : 타입 FULLTEXT, 유형 CHAR, VARCHAR, 텍스트 등의 시리즈에서만 생성

5. 인덱스를 생성 원리

  • 차, 외래 키는 인덱스해야
  • 기록 300 개 이상의 데이터 테이블은 인덱스되어야한다
  • 종종 인덱스해야 할 경우 절 필드에 표시
  • 작은 필드에 인덱스를 만들려고, 텍스트 필드 인덱스 긴 필드를 피하려고
  • 가난한 필드의 유일한 인덱스 (등 성별, 연령, 등)이 없습니다
  • 인덱싱 자주 필드에 업데이트되지 않습니다

CRUD의 둘째, 인덱스

1. 색인 작성

  공통 (단일, 전문) 인덱스를 만들기 : [독특한 | 전체 텍스트] 만들 인덱스`indexname` on` tablename` (`columnname`를);

       기본 키 인덱스 만들기 : 기본 키 (`columnname`)를 추가 tablename``테이블을 변경을;

2. 삭제 색인

  일반 (독특한) 인덱스를 삭제합니다 :  

  TABLE ALTER `TABLE_NAME 'DROP 색인 INDEX_NAME을;

  ON DROP INDEX의 INDEX_NAME talbe_name``;

  차 인덱스를 삭제 :

  TABLE ALTER `TABLE_NAME 'DROP 기본 키를;

3. 수정 색인

  나는 일반적으로 삭제, 추가, 특정 문장을 사용하지 않았습니다.

4. 색인

  tablename``에서 인덱스를 보여;

  tablename`의 \의 G 번호 플러스 G는 수직으로 표시 할 수 있습니다 \ 인덱스 정보, 명령 줄`에서 쇼 키

셋째, 인덱스 최적화

1. 컴퓨팅에 관련된 기능 또는 인덱스 필드를 사용하지 마십시오

(명) = 'zhangsan을'역 TB1 SELECT *;

이름 = ( 'zhangsan') 역 TB1 SELECT *;

TB1부터 *을 선택 여기서 NUM + 3> 100;

TB1 선택 * 여기서 NUM은> 100 -3 # 예 매우 적합하지

2. 특히 '% 지수'처럼, 같은 인덱스 필드를 사용하지 마십시오

* TB1에서 어디에 이름 '%의 白'처럼 선택;

* TB1의 경우 이름이 '李 %'처럼 선택;

3. 인덱스 필드 유형은 입력 필드와 일치하는

TB1부터 *을 선택 여기서 이름 = 123;

TB1 선택 * 여기서 이름 = '123'; 따옴표 #NAME varchar 형 들어오는 값

4. 왼쪽 공동 인덱스 매칭 원칙에 따라

인덱스 ON S1은 (이메일에서, 이름)을 작성 ix_name_email
---- 왼쪽 접두사 일치 : 순서와 일치해야합니다 왼쪽에서 오른쪽으로

선택에서 S1 * 여기서 이메일 = '자위대'; # 1不可以
여기서 NAME = "zhangsan 'S1 * FROM; #可以
* S1에서 여기서 이름 = 'zhangsan'이메일 = '자위대'를 선택; #可以

 

추천

출처www.cnblogs.com/shijt/p/11267451.html