본문 바로가기

분류 전체보기

(317)
실행계획 수집하기 실행계획을 수집하자.옵티마이저는 사용자가 요청한 SQL을 가장 효율적이고 빠르게 수행할 수 있는 최적(최저비용)의 처리경로를 생성하고,이 처리경로(프로시져)를 실행계획이라고 한다. 같은 SQL이라도 당시 옵티마이저의 판단에 따라 서로다른 실행계획을 가질 수 있으며, 쿼리의 성능은 이 실행계획에 좌우된다고 할 수 있다. 실행계획을 수집하여 자세히 분석하면옵티마이저가 어느 부분에서 착각하여 비효율을 발생시켰는지 알아낼 수 있고,이를 바탕으로 성능개선을 위한 방법을 생각할 수 있다. Execution Plan 활성화하기실행계획을 수집하기 위해서는 실행계획이 저장될 테이블이 필요하다. 오라클은 이러한 테이블을 생성하는 스크립트를 이미 준비해 놓았으며,DB가 설치된 폴더에서 utlxplan.sql를 검색하면 쉽게..

2017. 11. 3. 18:55

데이터분포도 조사하기 데이터 분포도를 조사하자.해당 쿼리가 사용하는 테이블의 스키마 정보들을 파악했다면,이제 테이블의 데이터 분포도를 파악해야한다. 이 단계에서 해야하는 조사작업은 다음과 같다.조건절에서 어떤 칼럼을 사용했나?조건절 칼럼에서 어떤 연산자를 사용했나?조건절 칼럼들의 데이터분포 상황은 어떠한가? 어떤 컬럼에 어떤 연산자를 사용했는지가 왜 중요한가?사용된 연산자의 종류는 인덱스 효율에 큰 영향을 미친다. 예를 들자면, 인덱스 스캔 시작점 결정원리에 의하여LIKE 연산자는 BETWEEN 연산자보다 항상 같거나 불리하고. 단일 컬럼으로 구성된 인덱스는 NULL 값이 입력되지 않기 때문에IS NULL 연산자는 단일 인덱스의 활용이 아예 불가능하다. 이런 사례들이 상당히 많기 때문에 어떤 연산자를 쓰는지 또한 중요한 정보..

2017. 11. 2. 09:08

딕셔너리 조사하기 테이블 목록 조회 -- 유저가 생성한 테이블 목록 출력. SELECT * FROM USER_TABLES; 일단 쿼리튜닝을 시작하기 전에그 쿼리문이 어떠한 구조의 테이블, 인덱스를 사용하는지는 매우 중요하다. 이미 구조화된 ER 다이어그램, 인덱스 분석표를 가지고있다면 넘어가도 되지만그렇지않다면 아래의 작업을 수행하면서 ER 다이어그램과 인덱스 분석표를 작성하자. 만약 대규모 시스템에서 어떤 쿼리를 튜닝해야할지조차 모른겠다면각 쿼리의 을 최대한 많이 수집, 분석 후어떤 쿼리를 튜닝할지 결정한다. 테이블 구조 조회 -- 테이블 스키마 조회 (not null, type 조회가능) desc #TABLE_NAME; 아래는 실제 수행결과이다. TABLE a Name Null? Type ----------------..

2017. 11. 1. 15:40

# 블로그/자격시험 후기 SQLP 합격후기 공부기간 먼저 이것은 특이 케이스임을 미리 밝힙니다. SQLP 취득 당시에 군인(병장, 24살)이였으며, 군부대 안에서 공부했습니다. 튜닝 경험이 일절 없으며, 튜닝을 교재로만 배웠습니다. 공부기간은 6개월입니다. 2017년 3월 : 24회 SQLD 합격 2017년 9월 : 26회 SQLP 합격 공부동기 DB에 대해 아무것도 모른 상태에서 시작해서 다행히 SQLD 시험은 합격했지만. 높은 단계의 자격증을 따고싶다는 욕심과, 대용량 데이터를 다룰 수 있다는 매력에 홀려 SQLP 도전을 결심하게 되었다. 물론, 이 자격증의 무서움은 익히 들어서 알고있기 때문에, 결심이 서자마자 어중간한 태도는 전부 버렸는데. 혹한기나 유격같은 괴랄한 훈련이 있지않는 한, 😱 매일같이 연등하면서 공부했고, 일과시간에도 동기와..

2017. 11. 1. 15:19

# 블로그/자격시험 후기 SQLD 합격후기 공부기간 2017년 01월 ~ 2017년 03월대략 3개월. 합격후기 군대 도서실에 우연히 있었던 데이터 모델 리소스북에서 알게된 자격증이다. 전역하기 전에 뭐라도 하나 하고 가야지라는 마음에 시작했다. 인터넷에서는 한 달만 공부해도 여유롭게 합격할 수 있다고 했지만, 당시에는 기초지식이 하나도 없는 상태였기 때문에, (대학교 2학년 수료) 혹시나 싶어서 3달 동안 연등해가며 공부했다. 덕분에 나름 안전권에서 합격했지만, 그렇다고 절대 만만하게 볼 시험은 아니였다. 나중에 이메일로 시험 주최측에 합격률을 물어봤다. 당시 24회 SQLD 합격률은 30% 즈음. 합격인증 자잘한 팁 SQLP 범위인 인덱스 스캔방식 및 실행계획에서 2문제 정도 나온다. 못풀어도 다른 문제에서 만회하면 되므로 괜찮다. DAP 범..

2017. 11. 1. 12:22