본문 바로가기
카테고리 없음

[oracle] 정렬작업 / TEMP 사용 / SORT_AREA_SIZE

by 플랜비BB 2024. 8. 9.
SQL에서 정렬을 하기 위해서는 PGA 메모리 영역 중 SORT Work Areas가 필요하다. SORT 영역이 작을 경우, 데이터를 정렬 하기 위하여 TEMP 공간(Temporary Tablespace)을 사용한다. 단, 디스크I/O 속도가 메모리I/O 속도보다 느리기 때문에 쿼리의 성능이 저하된다.

 

 

WORKAREA_SIZE_POLICY 파라미터

  • AUTO : PGA_AGGREGATE_TARGET 파라미터에 저장된 값을 고려하여 정렬 영역의 크기를 자동으로 결정한다.
  • MANUAL : SORT_AREA_SIZE 값을 사용하여 최대 크기를 수동으로 지정한다.

예제쿼리.txt
0.00MB

 

 

1. 메모리 최소화 (TEMP 영역 사용 유도)

PLAN_TABLE_OUTPUT

| Used-Mem | Used-Tmp|
----------------------
| 202K (6) |   10240 |
----------------------

* Used-Tmp (Used Temp) : 연산에 사용된 TEMP 공간의 양

 

2. 메모리를 늘려서 수행 (TEMP 영역 사용하지 않음)

PLAN_TABLE_OUTPUT

| Used-Mem | (TEMP 없음) |
--------------------------
| 9874K (0)|      -      |
--------------------------

* A-Time(Actual Time) 감소 /  Used-Mem 증가 (메모리 영역을 사용할 때 쿼리성능이 향상되는것 확인)