MySQL 의 조회 비용 보기 방법 에 대한 상세 한 설명

MySQL 논리 구조
머 릿 속 에 MySQL 각 구성 요소 간 에 어떻게 협동 작업 을 하 는 구조 도 를 구축 할 수 있다 면 MySQL 서버 를 깊이 이해 하 는 데 도움 이 된다.다음 그림 은 MySQL 의 논리 구조 도 를 보 여 준다.

MySQL 논리 구조:고성능 MySQL
MySQL 논리 구 조 는 전체적으로 3 층 으로 나 뉘 는데 맨 윗 층 은 클 라 이언 트 층 으로 MySQL 만 있 는 것 이 아니다.예 를 들 어 연결 처리,권한 수여 인증,안전 등 기능 은 모두 이 층 에서 처리 된다.
MySQL 의 대부분 핵심 서 비 스 는 중간 층 에 있 는데 조회 해석,분석,최적화,캐 시,내장 함수(예 를 들 어 시간,수학,암호 화 등 함수)를 포함한다.모든 크로스 메모리 엔진 의 기능 도 이 층 에서 이 루어 진다.저장 과정,트리거,보기 등 이다.
맨 아래 는 메모리 엔진 으로 MySQL 의 데이터 저장 과 추출 을 책임 집 니 다.리 눅 스 의 파일 시스템 과 유사 하 며,모든 저장 엔진 은 강점 과 약점 을 가지 고 있다.중간 서비스 층 은 API 를 통 해 저장 엔진 과 통신 하 는데 이 API 인 터 페 이 스 는 서로 다른 저장 엔진 간 의 차 이 를 차단 합 니 다.
MySQL 은 원가 기반 최적화 기 를 사용 하여 특정한 실행 계획 을 사용 할 때의 원 가 를 예측 하고 그 중에서 원가 가 가장 작은 것 을 선택 하려 고 합 니 다.MySQL 에서 현재 세 션 의 last 를 조회 할 수 있 습 니 다.query_cost 의 값 은 현재 조회 의 원 가 를 계산 할 수 있 습 니 다.
예제 코드

mysql> select * from t_message limit 10;
...     

mysql> show status like 'last_query_cost';
+-----------------+-------------+
| Variable_name | Value |
+-----------------+-------------+
| Last_query_cost | 6391.799000 |
+-----------------+-------------+
예제 에서 의 결 과 는 유 틸 리 티 가 6391 개의 데이터 페이지 를 무 작위 로 찾 아야 위의 조 회 를 완성 할 수 있다 고 생각 한 다 는 것 을 나타 낸다.이 결 과 는 일부 열의 통계 정보 에 따라 계 산 된 것 이다.이런 통계 정 보 는 각 표 나 색인 의 페이지 갯 수,색인 의 기수,색인 과 데이터 줄 의 길이,색인 의 분포 상황 등 을 포함한다.
많은 원인 으로 인해 MySQL 은 잘못된 실행 계획 을 선택 할 수 있 습 니 다.예 를 들 어 통계 정보 가 정확 하지 않 고 통 제 받 지 않 는 작업 원가(사용자 정의 함수,저장 과정)를 고려 하지 않 습 니 다.MySQL 은 우리 가 생각 하 는 것 과 가장 좋 은 것 이 라 고 생각 합 니 다.(우 리 는 실행 시간 이 가능 한 한 짧 기 를 원 하지만 MySQL 값 은 원가 가 적다 고 생각 합 니 다.그러나 비용 이 적 다 는 것 은 집행 시간 이 짧다 는 것 을 의미 하지 않 는 다)등등.
여기 lastquery_cost 의 값 은 iocost 와 cpucost 의 지출 총계 도 우리 가 조회 의 집행 효율 을 평가 하 는 데 자주 사용 되 는 지표 이다.
(1)이것 은 각 조회 간 의 비용 을 비교 하 는 근거 로 한다.
(2)비교적 간단 한 조회 비용 만 검사 할 수 있 고 하위 조회 와 유 니 온 을 포함 한 조 회 는 테스트 할 수 없다.
(3)우리 가 조 회 를 실행 할 때 MySQL 은 자동 으로 실행 계획,즉 query 를 생 성 합 니 다.  plan,그리고 보통 여러 가지 서로 다른 실현 방식 이 있 습 니 다.그것 은 가장 낮은 것 을 선택 합 니 다.이 cost 수 치 는 바로 비용 이 가장 낮은 것 입 니 다.
(4)그것 은 우리 의 비용 을 비교 하 는 데 매우 유용 하 다.특히 우리 가 여러 가지 조회 방식 을 선택 할 수 있 을 때.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기