일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- SQL튜닝
- 비교 연산자
- 반복문
- 연산자
- join
- 이클립스 설치
- 예약어
- SpringSecurity 로그아웃
- SQL
- SQL 튜닝
- 배열
- StringBuffer
- spring 게시판 삭제
- SpringSecurity 로그인
- 자바의정석
- 식별자
- 상속
- @PreAuthorize("isAuthenticated()")
- 함수
- 인텔리제이 Web 애플리케이션
- 오버로딩
- 객체지향
- java
- 오버라이딩
- 친절한 SQL 튜닝
- 논리 연산자
- 객체
- 산술 연산자
- 스프링시큐리티 로그아웃
- 친절한 SQL
- Today
- Total
목록친절한 SQL 튜닝 (6)
gi_dor

1️⃣ 소트 튜닝 소트는 기본적으로 PGA에 Sort Area에서 이루어진다 PGA : DB에 접속하는 유저에게 할당되는 각각의 서버 프로세스가 독자적으로 사용하는 오라클 메모리 영역 개인공간이라고 생각하면 편함. ◽ Sort Area 공간이 다 차면 디스크 Temp 테이블스페이스를 활용 한다. ◽ Sort Area가 찰 때마다 Temp 영역에 저장해 둘 때 이 중간 단계의 집합을 'Sort Run'이라고 함. ◽ Sort Area의 크기가 'Sort Run'에 있는 크기에 비례하여 한번에 읽어들일 수 있다면 추가적인 Disk I/O는 발생하지 않지만, 그보다 크기가 작다면 여러번 액세스해야 하므로 성능이 나빠짐. Sort Area에서 작업을 완료할수 있는지에 따라 소트를 2가지 유형으로 나눈다 ◾ 메모..
😁 서브쿼리 조인 1 - 1 서브쿼리 변환이 필요한 이유 옵티마이저는 비용을 평가하고 실행계획을 생성하기에 앞서 사용자로부터 전달받은 SQL을 최적화에 유리한 형태로 변환하는 작업 쿼리변환부터 진행한다 옵티마이저 엔진은 무거워지고 최적화에 소요되는 시간도 점점 늘어나고 있다 쿼리변환은 옵티마이저가 SQL을 분석해 동일하면서 더 나은 성능이 기대되는 형태로 재작성을 말한다 서브쿼리는 하나의 SQL문 안에 괄호로 묶은 별도의 쿼리 블록을 말한다. DBMS마다 조금씩 서브쿼리를 다르게 분류하는데 하단 그림에있는 오라클은 3가지로 분류한다 select c.고객번호, c.고객명, t.평균거래, t.최소거래, t.최대거래 , (select 고객분류명 from 고객분류 where 고객분류코드 = c.고객분류코드) /..

JOIN ▶ 연결고리 🍲 NL 조인 조인의 기본은 NL 조인이다 . NL 조인 ▶ 인덱스를 이용한 조인 ❗ NL 조인을 이해 한다면 다른 조인 방식도 쉽게 이해 할수 있다 NL 조인 2개의 테이블을 조인할 때 A 테이블의 각 행에 대해 B 테이블의 모든 행을 중첩반복 검사를 해서 조인 조건을 만족하는 행을 찾는다. 바깥쪽 반복문은 A 테이블의 행들을 돌고, 안쪽 반복문은 B 테이블의 행들을 돈다. 이렇게 반복문을 통해 조인 조건을 만족하는 행들을 찾아 결과를 반환한다. 1 - 1 기본 메커니즘 select e.사원명, c.고객명, c.전화번호 from 사원 e, 고객 c where e.입사일자 >= '19960101' and c.관리사원 번호 = e.사원번호 ; ① 사원 _X1 인덱스에서 입사일자가 보이..

1️⃣ 인덱스 클러스터링 팩터 (Index Clustering Factor) 클러스터링 팩터란? 특정 컬럼을 기준으로 같은 값을 갖는 데이터가 서로 모여있는 정도를 의미 CF가 좋은 컬럼에 생성한 인덱스는 검색 효율이 매우 좋음 1) 좋은 CF의 예 2) 안좋은 CF의 예 CF가 좋은 경우는 매우 드물고 대부분 사진 2번의 경우이다. 2️⃣ 인덱스 손익분기점 인덱스 ROWID를 이용한 테이블 액세스는 고비용 구조이다. 따라서 인덱스는 소량 검색에 유리하다 (일반적으로 5% ~ 20%) 읽어야 할 데이터가 일정량을 넘는 순간, 풀 스캔보다 오히려 느려진다. Index Range Scan이 Table Full Scan보다 느려지는 지점을 "인덱스 손익분기점" 이라고 한다. 3️⃣ 인덱스 컬럼 추가 테이블 액..

1️⃣ 인덱스 구조 및 탐색 1 - 1 미리보는 인덱스 튜닝 인덱스 특징 : 정렬과 위치 데이터를 찾는 2가지 방법 1 ) Full Scan 2 ) Index Scan ◾ 정렬 데이터 ◾ 데이터의 위치 1 - 2 인덱스 튜닝의 두가지 핵심요소 1 ) 인덱스 스캔 과정에서 발생하는 비효율을 줄이기 - 인덱스 스캔 효율화 튜닝 Ex . 시력이 1.0 ~ 1.5인 김튜닝 이라는 학생을 찾을경우 이름과 시력 순으로 정렬 했다면 소량만 스캔하면 되는데 , 시력과 이름 순으로 정렬했다면 많은 양을 스캔 해야한다 2 ) 테이블 액세스 횟수 줄이기 - 랜덤 액세스 최소화 튜닝 인덱스 스캔후 테이블 레코드를 액세스 할 때 랜덤 I/O 방식을 사용 함 ❗ 인덱스의 범위가 중요 하며 , 컬럼의 순서 또한 중요하다 1 - 3..