728x90
반응형
1. 조인알고리즘용어
- 중첩루프조인(NL조인) 드라이빙 테이블 데이터 1건당 드리븐 테이블 반복검색 - 최종 양쪽 데이터 출력
- 블록 중첩 루프 종인(BNL) 조인버퍼 찰때까지 적재한후 드리븐 테이블을 접근
- 배치키 엑세스조인 조인버퍼 + 랜덤버퍼 -> 드리븐 테이블 접근
- 해시조인 각 테이블의 데이터를 내부적 해시값을 만들어 조인 수행 결과는 조인버퍼에 저장되어 조인열의 인덱스 요구 X
2. 기본 튜닝용어
- 오브젝트 스캔 :
- 오브젝트 - 테이블 스캔 - 인덱스 스캔
- TABLE FULL SCAN
- INDEX RANGE SCAN
- INDEX FULL SCAN
- INDEX UNIQUE SCAN - 기본키나 고유인덱스로 테이블 접근하는 방식 (가장 효율적)
- INDEX LOOSE SCAN - 인덱스의 필요한 부분만 골라서 스캔하는 방식
- 디스크 접근방식
- 시퀀셜엑세스 : 순차접근
- 랜덤엑세스: 물리적 위치 고려 X
- 조건
- 액세스 유형 WHERE
- 필터 유형 AND
- 카디널리티 = 전체건수 * 선택도 (주민등록번호는 카디널리티 높고, 성별은 카디널리티가 낮다)
- 힌트: 힌트를 무조건 참고하지는 않는다.
SELECT STRAIGHT_JOIN /*힌트는 SELECT절 뒤에 바로*/
매핑.사원번호,
부서.부서번호
FROM 부서사원_매핑 매핑,
부서;
- COLLATION
- 통계정보
- 히스토그램: 분포정보
3. 실행계획 수행
EXPLAIN ###;
DESCRIBE ###;
DESC ###;
-- ####는 SQL구문
4. 프로파일링
SHOW VARIABLES LIKE 'PROFILING%'; --프로파일링
SET PROFILING= 'ON'; --프로파일링 활성화 상태
SHOW PROFILES; --앞서 실행한 구문의 프로파일링 실행
SHOW PROFILING ALL FOR QUERY 1; --모든 프로파일링 쿼리 출력
SHOW PROFILE BLOCK IO FOR QUERY 1; -- 데이터 접근단위인 블록수준의 입출력 정보 추가
5. 인텍스에 키 추가
ALTER TABLE 사원 ADD INDEX I_이름(이름);
SHOW INDEX FROM 사원; --테이블의 인덱스 보여주기
6. UPDATE
UPDATE 사원출입기록 SET 출입문 = 'X' WHERE 출입문 = 'B';
7.AUTO COMMIT
SELECT @@AUTOCOMMIT;
--AUTO COMMIT의 세션기준 시스템변수 확인 가능 확인이후
SE AUTOCOMMIT=0; --으로 자동커밋되지 않게 해야함
8. 컬럼삭제
ALTER TABLE 사원 DROP COLUMN 컬럼명; --사원 테이블의 컬럼삭제
9. 파티션 추가
ALTER TABLE 급여
PARTITION BY RANGE COLUMNS (시작일자) --급여테이블의 시작일자 컬럼 기준 파티셔닝
(
PARTITION P85 VALUES LESS THAN ('1985-12-31'),
PARTITION P85 VALUES LESS THAN ('1986-12-31'),
PARTITION P85 VALUES LESS THAN ('1987-12-31'),
PARTITION P85 VALUES LESS THAN ('1988-12-31')
);
###.
예제쿼리도 심플하고 기본적으로 5줄이상 안넘어감.
초심자가 튜닝 맛배기용으로 몸풀때 참고하기 좋은 책인듯하다. 기본서로는 비추
728x90
'SQL > Mysql' 카테고리의 다른 글
mysql 사용자 정의 변수(a.k.a.사용자함수) 총정리 [출처:Real Mysql] (0) | 2021.02.23 |
---|---|
Mysql- insert절 용법 총정리(Real Mysql) (0) | 2021.02.16 |
MYSQL all about Select절 (REAL MY SQL 정리) (0) | 2021.02.15 |
MYSQL 연산자/like연산자/between연산자/in연산자 (REAL MY SQL 정리) (0) | 2021.02.14 |
MYSQL 내장함수 / 문자열처리/타입변환/처리대기/벤치마크/암호화/aggregation function/주석 (REAL MY SQL 정리) (0) | 2021.02.13 |