SQL 최적화 및 인덱스 최적화

1704 단어
왜 데이터베이스를 최적화해야 합니까?
1. 페이지 접근 오류를 피하고 데이터베이스 연결로 인한timeout 오류 5xx2.느린 검색으로 불러올 수 없습니다. 3.차단된 데이터를 커밋할 수 없습니다.
문제가 있는 SQL 검색 방법
일반적으로 우리는 MYSQL 느린 조회 로그를 사용하여 효과적인 문제의 SQL을 감시할 수 있다
다음 명령을 통해 Linux 서버에서 느린 조회 로그를 엽니다.show variables like 'slow_query_log' .set global slow_query_log_file= `/home/mysql/slq_log/mysql-slow.log' .set global log_queries_not_using_indexes=on; .set global long_query_time=1;
어떻게 느린 조회 로그를 분석합니까
느린 검색 로그 분석 도구, 느린 검색 로그 분석 도구: mysqldumpslow [OPTS] [LOGS...]pt-query-digest
최적화가 필요한 SQL은 무엇입니까?
1. 조회 횟수와 시간이 오래 걸리는 SQL 2.큰 SQL Rows examine (검색된 행 수) 3.명중되지 않은 인덱스의 SQL SQL Row examine과 SQL Row send 비교
SQL 쿼리 분석 방법
explain에서 SQL의 실행 계획을 조회하여 열의 의미를 되돌려줍니다. 테이블은 그 테이블에 대한 것입니까?type: 연결의 집중 형식을 표시합니다.최고에서 최악, 각각const,eqreg ref range index ALL possible_keys: 인덱스 키에 사용되는 실제 인덱스 키len은 인덱스의 길이를 사용합니다. 정밀도를 잃지 않는 상황에서 짧을수록 좋습니다. ref: 인덱스의 어느 열이 인용되었는지 표시합니다. 가능하면 상수입니다.rows: MYSQL은 요청을 되돌려 주는 줄 수를 검사해야 한다고 생각합니다.extra: 반환값 주의 | Using filesort 외부 파일 사용 | Using temporary 임시 테이블 SLQ 최적화 count () MAX () 최적화 방법 (count NULL은 빈 값을 계산하지 않으며 SQL 조회를 사용할 때count (*) 는 빈 값을 추가합니다)
하위 조회의 최적화
일반적으로 하위 쿼리를 Join 쿼리로 최적화하지만, 최적화할 때 키 키에 일대다 관계가 존재하는지, 중복 데이터가 있는지 주의해야 한다.
group by 쿼리 최적화
limit은 주 키나 인덱스를 사용하여 Order by 작업 기록에서 마지막으로 되돌아온 주 키를 최적화하고 다음 검색에서 주 키를 사용하여 필터합니다.
###    :
·            :
1: where  ,group by order by  ,on     
2.         
3.             。(    )

색인 유지 보수 및 최적화 - 중복 및 불필요한 색인 중복 색인: 같은 열과 같은 순서로 같은 종류의 색인을 만듭니다.중복 인덱스: 여러 인덱스의 접두사 열이 같습니다.도구:pt-duplicate-key-checker
적용되지 않는 인덱스를 삭제하고 그 인덱스가 사용하지 않는 것을 어떻게 알 수 있습니까: pt-index-usage-uroot-p 'mysqk-slow.log

좋은 웹페이지 즐겨찾기