MySql 은 어떻게 색인 을 보고 최적화 합 니까?

my sql 에 서 는 hash 와 btree 색인 을 지원 합 니 다.innodb 와 my isam 은 btree 색인 만 지원 하고 memory 와 힙 저장 엔진 은 hash 와 btree 색인 을 지원 합 니 다.
우 리 는 아래 문장 을 통 해 현재 색인 사용 상황 을 조회 할 수 있다.

show status like '%Handler_read%';

+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| Handler_read_first | 0 |
| Handler_read_key | 0 |
| Handler_read_last | 0 |
| Handler_read_next | 0 |
| Handler_read_prev | 0 |
| Handler_read_rnd | 0 |
| Handler_read_rnd_next | 0 |
+-----------------------+-------+
색인 이 작업 중이 라면 Handlerread_key 의 값 은 매우 높 습 니 다.이 값 은 한 줄 이 색인 값 으로 읽 히 는 횟수 를 대표 합 니 다.낮은 값 표 이름 으로 색인 을 추가 하여 얻 은 성능 개선 이 높 지 않 기 때문에 색인 은 자주 사용 되 지 않 습 니 다.
하면,만약,만약...read_rnd_next 값 이 높다 는 것 은 조회 운행 효율 이 낮 다 는 것 을 의미 합 니 다.색인 보완 을 만들어 야 합 니 다.이 값 은 데이터 파일 에서 다음 줄 의 요청 수 를 읽 는 것 을 의미 합 니 다.만약 대량의 시계 스캐닝 을 진행 하고 있다 면,Handlerread_rnd_next 의 수 치 는 매우 높 을 것 이다.색인 이 정확 하지 않 거나 색인 을 이용 하지 않 았 음 을 설명 합 니 다.
최적화:
insert 구문 최적화:
1.insert into test values(),(),(),()...
2.서로 다른 클 라 이언 트 에서 여러 줄 을 삽입 하면 insert delayed 문 구 를 사용 하여 더 높 은 속 도 를 얻 을 수 있 습 니 다.delayd 의 미 는 insert 문 구 를 즉시 실행 하 게 하 는 것 입 니 다.사실은 데 이 터 는 메모리 대기 열 에 놓 여 있 고 디스크 에 진정 으로 기록 되 지 않 았 습 니 다.이것 은 각 문 구 를 각각 삽입 하 는 것 보다 훨씬 빠 릅 니 다.low_priority 는 반대로 모든 사용자 가 시 계 를 읽 고 쓴 후에 야 삽입 합 니 다.
3.색인 파일 과 데이터 파일 을 다른 디스크 에 나 누 어 저장 합 니 다.
4.대량 삽입 하면 bulk 를 증가insert_buffer_size 변수 값 방법 으로 속 도 를 높이 지만 MyISAM 표 에 만 사용 합 니 다.
5.한 텍스트 파일 에서 시 계 를 불 러 올 때 load data file 을 사용 합 니 다.보통 insert 를 사용 하 는 것 보다 20 배 빠 릅 니 다.
최적화 group by 구문:
기본적으로 my sql 은 모든 group by 필드 를 정렬 합 니 다.이것 은 order by 와 유사 합 니 다.그룹 by 를 포함 하지만 사용자 가 정렬 결과 의 소 모 를 피 하려 면 order by null 을 지정 하여 정렬 을 금지 할 수 있 습 니 다.
orderby 구문 최적화:
어떤 경우 에는 my sql 에서 order by 문 구 를 만족 시 키 는 색인 을 사용 할 수 있 기 때문에 추가 정렬 이 필요 하지 않 습 니 다.where 조건 과 orderby 는 같은 색인 을 사용 하고 orderby 의 순서 와 색인 의 순서 가 같 으 며 orderby 의 필드 는 모두 오름차 나 내림차 입 니 다.

최적화 패키지 조회:
mysql 4.1 은 하위 조 회 를 지원 하기 시 작 했 지만,일부 경우 하위 조 회 는 더욱 효율 적 인 join 으로 대 체 될 수 있 습 니 다.특히 join 의 수 동적 표 가 색인 이 있 을 때,mysql 은 메모리 에 임시 표를 만 들 필요 가 없 기 때문에 논리 적 으로 두 단계 의 조회 작업 이 필요 합 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기