미디어위키 표 만들기
색상추가
{| class="wikitable" style="width: 100%;"
! style="width: 20%;" | 항목
! style="width: 40%;" | WITH 절
! style="width: 40%;" | 서브쿼리
|-
| '''가독성'''
| style="background:#e6f3ff;" | 매우 높음
| 복잡하면 읽기 어려움
|-
| '''재사용'''
| style="background:#e6f3ff;" | 가능 (한 번 정의해서 여러 번 사용)
| 동일 쿼리를 반복 작성해야 함
|-
| '''성능'''
| style="background:#e6f3ff;" | Oracle이 내부적으로 최적화 가능
| 중복 계산 발생 시 성능 저하 가능
|}
항목
|
WITH 절
|
서브쿼리
|
가독성
|
매우 높음
|
복잡하면 읽기 어려움
|
재사용
|
가능 (한 번 정의해서 여러 번 사용)
|
동일 쿼리를 반복 작성해야 함
|
성능
|
Oracle이 내부적으로 최적화 가능
|
중복 계산 발생 시 성능 저하 가능
|
색상추가2
{| class="wikitable" style="border-collapse: collapse; width: 100%; margin: 5px 0;"
|-
! style="border-right: 1px solid #555; padding: 5px; text-align: center; background: #eaeaea;" | 상황
! style="border-right: 1px solid #555; padding: 5px; text-align: center; background: #eaeaea;" | 인덱스 없음
! style="padding: 5px; text-align: center; background: #eaeaea;" | 인덱스 있음
|-
| style="border-right: 1px solid #ddd; padding: 10px; text-align: center; font-weight: bold;" | <source lang=sql>SELECT * FROM employees WHERE name = 'Kim';</source>
| style="border-right: 1px solid #ddd; padding: 10px; background: #fff5f5;" | 전체 테이블을 처음부터 끝까지 검사함<br><span style="color:#d33">▸ Full Table Scan 발생</span>
| style="padding: 10px; background: #f5fff5;" | 인덱스를 따라 바로 'Kim'의 위치로 감<br><span style="color:#2a7">▸ Index Range Scan 동작</span>
|}
상황
|
인덱스 없음
|
인덱스 있음
|
SELECT * FROM employees WHERE name = 'Kim';
|
전체 테이블을 처음부터 끝까지 검사함 ▸ Full Table Scan 발생
|
인덱스를 따라 바로 'Kim'의 위치로 감 ▸ Index Range Scan 동작
|
정렬되는 표
결과
{| class="wikitable sortable"
|+ 지역별 제품 매출
|-
! 지역
! 제품
! 매출액(USD)
|-
| Seoul || Laptop || 4,200
|-
| Seoul || Phone || 2,300
|-
| Busan || Laptop || 1,500
|-
| Busan || Phone || 1,200
|}
지역별 제품 매출
지역
|
제품
|
매출액(USD)
|
Seoul |
Laptop |
4,200
|
Seoul |
Phone |
2,300
|
Busan |
Laptop |
1,500
|
Busan |
Phone |
1,200
|