본문 바로가기
728x90
반응형

SQL성능4

[SQL튜닝] 조인 조건이 없는 조인 [SQL튜닝] 조인 조건이 없는 조인 주요내용 CARTESIAN PRODUCT의 개념 자주 사용하는 방법 CARTESIAN PRODUCT 적용 예제 학습목표 조인 조건이 없는 SQL 문장의 조인에 대한 이해를 바탕으로 비효율적으로 수행되는 SQL문장을 진단할 수 있다. 조인 조건이 없는 SQL문장의 조인을 활용하여 SQL문장을 성능목표에 부합하도록 개선할 수 있다. 조인 조건이 없는 SQL문장의 조인의 활용을 통해 개선된 SQL문장이 성능목표에 부합하는지 테스트할 수 있다. CARTESIAN PRODUCT의 개념 Cartesian Product가 발생하는 경우 WHERE절이 없는 조인 수행 조인을 위한 조건 없이 조인 수행 '데이터 복제'라는 개념을 위해서 사용하지만, 잘못 사용하게 되면 .. 2024. 3. 25.
[SQL튜닝] 인덱스 [SQL튜닝] 인덱스 주요내용 인덱스의 필요성 B*Tree 구조 인덱스 선정 절차 인덱스 생성 및 변경 시 고려할 사항 인덱스 스캔의 원리 인덱스 사용 학습목표 인덱스에 대한 이해를 바탕으로 비효율적으로 수행되는 SQL 문장을 진단할 수 있다. 인덱스를 활용하여 SQL 문장을 성능목표에 부합하도록 개선할 수 있다. 인덱스 활용을 통해 개선된 SQL 문장이 성능목표에 부합하는지 테스트할 수 있다. 인덱스의 필요성 사용자가 인덱스를 사용하는 이유 : 데이터베이스에 저장된 자료를 더욱 빠르게 조회하기 위해 인덱스를 생성하여 사용함 모든 SQL이 인덱스를 사용해야 하는가? => 일반적으로, 인덱스는 테이블의 전체 데이터 중에서 10~15% 이하의 데이터를 처리하는 경우에 효율적이며, 그 이상의 데이터를 처리할 .. 2024. 3. 11.
[SQL튜닝] 옵티마이저 [SQL튜닝] 옵티마이저 주요내용 옵티마이저의 개념 옵티마이저의 종류 옵티마이저의 레벨별 설정 RBO와 CBO의 실행계획 비교 학습목표 옵티마이저 종류에 따라 달라지는 데이터베이스 성능을 모니터링할 수 있다. CBO, RBO의 실행계획 확인을 통해 SQL 문장에 적합한 옵티마이저를 선택할 수 있다. 옵티마이저의 개념 옵티마이저 : 사용자가 실행한 SQL을 해석하고, 데이터 추출을 위한 실행계획을 수립하는 프로세스 옵티마이저의 종류 RBO(Rule Based Optimizer) : 초창기 버전부터 제공함 기본적으로 15개의 순위가 매겨진 규칙이 있음 -> 이를 기초로 해서 실행계획을 수립함 SQL에 대한 실행계획이 하나 이상일 경우, 순위가 높은 규칙을 이용하게 됨 수립될 실행계획이 예측 가능하기 때문에 .. 2024. 3. 7.
[SQL튜닝] 실행계획 [SQL튜닝] 실행계획 주요내용 실행계획의 정의 실행계획 확인 방법 실행계획 분석 학습목표 SQL 문장의 실행계획을 통해 데이터베이스 성능을 모니터링할 수 있다. 실행계획을 통해 비효율적으로 수행되는 SQL문장의 개선항목을 도출할 수 있다. 실행계획의 정의 실행계획 : 사용자가 SQL을 실행하여 데이터를 추출하려고 할 때, 옵티마이저가 수립하는 작업절차SELECT A.ENAME, A.DEPTNO, B.DNAME FROM EMP A, DEPT B WHERE A.DEPTNO = B.DEPTNO; OPTIMIZER : SQL해석 > 실행계획 수립 > 실행 실행계획 확인 방법 1) EXPLAIN PLAN SQL에 대한 실행계획만을 확인할 수 있음 명령을 사용할 때 데이터를 처리하지 않음EXPLAIN PLAN S.. 2024. 3. 6.
728x90
반응형