일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SQLP
- intellij
- 데이터모델링
- B*Tree인덱스구조
- 클린 코드
- index fast full scan
- 파이썬
- clean code
- Oracle
- 친절한SQL튜닝
- database
- 클린코드
- SQLD
- 오라클
- 결합인덱스구조
- heapq
- B*Tree인덱스
- db
- 알고리즘
- leetcode215
- join
- table full scan
- 로버트C마틴
- 오라클튜닝
- 리눅스
- SQL튜닝의시작
- B*Tree
- 조인
- 리트코드215
- RAC
- Today
- Total
목록SQL튜닝의시작 (2)
개발노트
ROWNUM 이란? ROWNUM 은 Oracle 에서 제공하는 가상 컬럼이다. Select 절에서 사용할 경우, 추출하는 데이터의 순번을 부여하는 용도로 사용된다. Where 절에서 사용할 경우, 추출할 데이터 중 일부만 가져올 용도로 사용된다. 특히, where 절에 사용되는 ROWNUM은 인덱스의 특성을 이용하여 부분범위 처리로 유도할 수 있어 잘 사용하면 효율적인 SQL이 된다. ROWNUM 사용시 주의 사항 ROWNUM 데이터를 먼저 추출한 이후 조회하자 ROWNUM 은 SQL 결과 셋에 순번을 1부터 부여하는 가상컬럼으로써, Fetch 단계에서 추출하는 첫 번째 로우에 1을 부여한다. 그리고 다음 로우 추출시 ROWNUM을 +1 한다. 따라서 1이 존재하지 않으면 다음 순번을 부여할 수가 없다...
WITH절 설명 & 사용법 정의 WITH절은 오라클9 버전부터 사용되었고, 이름이 부여된 임시 서브쿼리라고 생각하면 된다. 임시 테이블을 만든다는 관점에서 보면 VIEW 와 쓰임새가 비슷하다. 그러나 차이가 있다면 VIEW 는 DROP 되지 않는 한 재사용이 가능한 Object 이지만, WITH절의 경우 실행되는 쿼리문 안에서만 재사용된다. 사용법 예시 WITH cte1 AS (SELECT a, b FROM table1), cte2 AS (SELECT c, d FROM table2) SELECT b, d FROM cte1 JOIN cte2 WHERE cte1.a = cte2.c; - 서브쿼리를 AS 뒤에 괄호에 넣고, AS 앞에 서브쿼리에 대한 이름을 붙여준다. - WITH 절로 생성된 서브쿼리는 tab..