SQL8 1장. [SQL 분석 도구] 1-3. 트레이스 수집 트레이스를 수집 및 분석하는 것은 튜닝의 시작과 끝이라고 할 수 있다. 그 정도로 중요하다. 1. 트레이스 수집 /* 수집시작 */ alter session set sql_trace = true; /* 수집 종료 */ alter session set sql_trace = false; 해당 명령어를 실행하면 트레이스를 수집해서 DB 서버에 저장 된다. 2. 트레이스 파일 찾기 /* 트레이스 파일 위치 */ SELECT r.value || '/' || LOWER(t.instance_name) || '_ora_' || ltrim(to_char(p.spid)) || '.trc' trace_file FROM v$process p, v$session s, v$parameter r, v$instance t WHERE.. 2021. 10. 5. 1장. [SQL 분석 도구] 1-2. AutoTrace 명령어's 쿼리를 실행하기 전에 아래 명령어를 실행하고 쿼리를 수행하면 각각의 분석결과를 자동으로 출력해준다. 1. set autotrace on : 쿼리 수행 결과, 실행계획, 실행통계를 출력 2. set autotrace on statistics : 쿼리 수행 결과, 실행통계 출력 3. set autotrace on explain : 쿼리 수행 결과, 실행계획 출력 4. set autotrace traceonly : 실행계획, 실행통계 출력 5. set autotrace traceonly statistics : 실행통계 출력 6. set autotrace traceonly explain : 실행계획 출력 7. set autotrace off : 트레이스 출력 안함, 이게 default 직접 하나의 쿼.. 2021. 10. 4. 1장. [SQL 분석 도구] 1-1. Explain Plan @?/rdbms/admin/utlxplan.sql 1. 튜닝 쉽게 이해하기 내 기준에서다. 평소 축구를 즐겨보기에 축구라는 종목을 기준으로 SQL 튜닝을 이해해보려고 한다. 1. 실행계획 SQL 튜닝하기 위해서는 실행계획이 파악하는 것이 중요하다. 그 실행계획을 분석하여 어떻게 튜닝할 지를 결정할 수 있기 때문이다. 내가 한 구단의 감독이라면, 이 실행계획을 가볍게 스쿼드를 짜는 것이라고 생각하면 될 것이다. 예산은 정해져 있기 때문에, 각 포지션의 어떤 선수를 영업할 것인지 11명의 선수로 어떤 포메이션을 할 것인지 감독은 다양한 관점으로 생각해 둔다. Auto Trace Auto Trace는 쿼리 수행 결과와 계획 통계를 sql이 알아서 출력해주도록 설정해주는 것이다. 감독이 해당 선수를 가볍게 검증.. 2021. 10. 3. [SQL 튜닝] SQL 튜닝의 시작 SQL 튜닝을 시작하며... SQL은 RDBMS의 데이터를 관리하기 위하여 특수 하게 프로그래밍 한 언어이다. 구조화 질의어 (Structured Query Language) 라고하는데, 그냥 나는 조금 쉽게 아무 말이나 하는게 아니라 육하원칙에 의거하여 물어보는 것이다? 정도로 이해했다. 예를 들면 재판장에서 검사나 변호사가 증인을 심문하는 과정이랄까?... 뭐 아무튼 논리적인 사고를 통해 어떤 질문을 할 것인지 정하고 실제로 그 논리적인 사고를 바탕으로 내 입을 통해 물리적인 질문을 하게 된다. 이걸 SQL로 치면 어떤 질문을 할 것인지 정하는 과정 자체가 SQL 쿼리를 작성하는 것 이라고 이해하면 될 것 같다. 그리고 실제로 본인이 생각한대로 보통 입밖으로 말을 꺼내게 되지만 간혹 내가 생각지도 못.. 2021. 10. 2. 이전 1 2 다음