sql34 SQL튜닝 - Chapter03. 인덱스튜닝 -1- 인덱스를 스캔하는 이유 - 검색조건을 만족하는 소량의 데이터를 인덱스에서 빨리 찾고 테이블레코드를 찾아가기 위한 주소값 = ROWID를 얻기위해 인덱스 ROWID는 논리적주소 - 디스크 상에서 테이블 레코드를 찾아가기 위한 위치 정보를 담는다 인덱스를 이용해 테이블 블록을 찾아가는 과정 인덱스 클러스터링 팩터 ( Index Clustering Factor ) 클러스터링 팩터(Clustering Factor) : 특정 컬럼을 기준으로 같은 값을 갖는 데이터가 서로 모여있는 정도 클러스터링 팩터가 좋은 컬럼에 생성한 인덱스는 검색 효율이 매우 좋다 = 테이블 액세스량에 비해 블록I/O가 적게 발생함을 의미하는 것 - 인덱스 클러스터링 팩터가 가장 좋은 상태를 도식화한 것- 인덱스 레코드 정렬 순서와 테이블 .. 2023. 8. 18. SQL튜닝 - Chapter02. 인덱스기본 데이터를 찾는 두가지 방법 Full Scan : 말 그대로 테이블 전체를 스캔한다. Index Scan : 인덱스를 이용해서 스캔 Index Scan의 특징 : 정렬 / 위치 인덱스는 보통 큰 테이블에서 소량 데이터를 검색할 때 사용한다. 인덱스 튜닝이 중요한데 핵심요소는 두 가지이다. 1. 인덱스 스캔 과정에서 발생하는 비효율을 줄이는 것. => 인덱스 스캔 효율화 튜닝 2. 테이블 액세스 횟수를 줄이는 것 => 랜덤 액세스 최소화 튜닝 더보기 인덱스 스캔 효율화 튜닝과 랜덤 액세스 최소화 튜닝 둘 다 중요하지만, 더 중요한 하나를 고른다면 랜덤 액세스 최소화 튜닝. 이유는 성능에 미치는 영향이 더 크기 때문이다. 인덱스 탐색과정 수직적 탐색 / 수평적 탐색 수직적 탐색 : 인덱스 스캔 시작지점을 찾는.. 2023. 8. 17. SQL튜닝 - Chapter01. SQL처리과정과 I/O 친절한 SQL 튜닝 챕터1 정리 들어가기 전 간단 정리 ( 생각나는 대로 정리하고 급하게 적은 거라 정확하지 않을 수 있다..) SQL 튜닝 정의 -- 성능 테스트를 하고 성능이 안좋은 애들(?) 분석하고 고치는 것이 SQL 튜닝 진정한 튜닝은 모델리우터 다시해야한다ㅋㅋ 튜닝자체는 기술적으로 쉽다. 1. 튜닝이 어렵다고 느끼는 이유는 업무를 정확히 모르기 때문이다. 업무가 80%에 해당하고 기술은 20%에 해당한다 2. 추가는 쉽고, 변경은 어렵다. Optimizer가 하는 일 1. 문법체크 2. 구문분석 3. 최적화 : 자동 4. 번역 다만 자동은 만능이 아니다 더보기 최적화는 자동과 수동으로 나뉜다 자동은 2가지로 나뉘는데 Rule Base / Cost Base 로 나뉜다 Rule Base : 쉽게 .. 2023. 8. 16. SQL 정리 6일차 JOIN 6.1 JOIN JOIN은 하나 이상의 테이블로부터 연관된 데이터를 검색해오는 방법. 일반적인 경우에 행들은 Primary Key(PK)와 Foreign Key(FK) 값의 연관에 의해 JOIN이 성립된다. 그러나 어떤 경우에는 이러한 PK, FK 관계가 없어도 논리적인 값들의 연관만으로 JOIN이 성립되기도 한다. JOIN의 종류 JOIN 방법 의 미 EQUIJOIN 칼럼 간의 값들이 서로 정확하게 일치하는 경우에 사용 일반적으로 PK, FK 관계에 의함 NON - EQUIJOIN 한 칼럼의 값이 다른 칼럼의 값과 정확히 일치하지 않는 경우에 사용 OUTER JOIN JOIN조건을 만족하지 않는 경우에도 모든 행들을 다 보려는 경우에 사용 SELF JOIN 같은 테이블에 있는 행들을 JOIN하고자 하는.. 2023. 8. 16. 이전 1 ··· 4 5 6 7 8 9 다음