본문 바로가기
728x90
반응형

study/OracleTuning3

SQL 튜닝과 Table Access SQL 튜닝을 왜 해야 할까요 그러면? 사실 그렇잖아요, 뼈빠지게 쿼리를 열심히 짰는데.. 튜닝까지 해야 한다고? 랜덤I/O로 인한 비효율을 최소화하기 위해 필요합니다. 그러려면 어제 길게길게 설명한 인덱스 스캔 방식도 중요하지만, 이게 만능은 또 아니란 말이지요. 알면 알 수록 알아야할 게 많아지는 건 어디나 마찬가지고 여기도 예외가 없다 이겁니다.. 그래서 테이블을 어떻게 액세스해서 찾아들어가는지에 대해서도 알아야 합니다. SQL 조건에서 참조하는 칼럼을 인덱스가 모두 포함하지 않는다면, 인덱스 스캔 후에 테이블을 반드시 한번 더 읽어야 합니다. 스캔을 통해 조건에 맞는 소량의 데이터를 빨리 찾아내요. 근데 그 데이터를 ROWID로 찾는다 말이죠? ROWID는 테이블 레코드를 찾기 위한 주소값이에요... 2021. 9. 1. 19:01
IndexScan이란? 튜닝을 하다보니 Index라는 말이 자주 보이는데, 이게 대체 뭘까 해서 그 다음 주제는 자연스럽게 index가 되었어요. Index는 검색성능을 최적화하기 위해 사용되는 도구입니다. 책의 목차와 같은 역할을 합니다. 애시당초에 쿼리를 짜면서 필요한 경우 인덱스를 추가할 수 있고, 학부 시절 SQL 배우던 데이터베이스 시간에 인덱스 추가하는 방법을 배운 적이 있었어요. 근데 Oracle의 경우 따로 인덱스를 추가하지 않아도 테이블 생성단계에서 다음 2가지 경우에서 인덱스를 자동으로 생성합니다. 1. PK 조건을 거는 경우 2. Unique 조건을 거는 경우 인덱스가 적절히 걸리는 경우, 검색속도가 향상됩니다. 하지만 꼭 모든 경우에서 인덱스가 필요할까요? 아닙니다. Insert, delete같은 DML .. 2021. 8. 31. 18:39
SQL 튜닝에 꼭 필요한 옵티마이저와 실행계획 시즌3 Intro. 튜닝의 ㅌ도 몰랐던 비컴공 개발자였던 2020년 가을의 나, 팀내 개선 프로젝트로 우리 팀/회사에서 가장 유명하고 현장 사용 빈도가 높은 화면의 HeavyTR을 줄이기 위해 튜닝을 갑자기 배워야 하는 처지가 되는데.... 때맞춰 신청한 외부 교육(어차피 고과 산정에 교육이 필요한 참에, 필요한 걸 들으면 가장 좋잖아?) 3일 + [친절한 SQL 튜닝] / [실전사례로 알아보는 SQL 튜닝] 2권의 책(기억은 잘 안 나는데 둘 중 하나는 교육 교재였던걸로 기억하고, 하나는 내돈내산) + 미친듯한 구글링이 큰 도움이 되었다. 튜닝을 이해하기 위해서는 맨 처음 2가지 개념을 알고 넘어가야 합니다. 1. 옵티마이저 : 사용자가 원하는 작업을 가장 효율적으로 수행할 수 있도록 최적의 데이터 액.. 2021. 8. 30. 19:13
728x90
반응형