카테고리 없음
V$SQLAREA 오라클 공유 SQL 영역에 저장된 SQL 문들의 실행 통계
chelss25
2025. 3. 10. 11:19
V$SQLAREA 오라클 공유 SQL 영역에 저장된 SQL 문들의 실행 통계
V$SQLAREA는 오라클 데이터베이스의 동적 성능 뷰(Dynamic Performance View) 중 하나로, 공유 풀(Shared Pool)에 저장된 SQL 문에 대한 정보를 제공합니다.
V$SQLAREA 주요 개념
- 공유 SQL 영역(Shared SQL Area)에 있는 SQL 문에 대한 정보를 유지
- SQL 문별로 실행 횟수, 버퍼 읽기, 디스크 읽기 등의 통계 정보 제공
- 동일한 SQL 문이 여러 번 실행되더라도 한 번만 저장 (SQL ID 기준)
- 주로 성능 튜닝 및 SQL 문 분석에 사용됨
주요 컬럼 설명
컬럼명 | 설명 |
SQL_ID | SQL 문을 식별하는 고유한 ID |
SQL_TEXT | SQL 문 자체 (일부만 보일 수 있음) |
EXECUTIONS | SQL 문이 실행된 총 횟수 |
DISK_READS | SQL 문 실행 시 디스크에서 읽은 블록 수 |
BUFFER_GETS | 메모리에서 가져온 블록 수 |
PARSE_CALLS | 파싱(Parse)된 횟수 |
SHARABLE_MEM | 공유 메모리에서 차지하는 크기 (바이트) |
PERSISTENT_MEM | 영구 메모리(PGA)에서 차지하는 크기 |
RUNTIME_MEM | 런타임 시 할당된 메모리 크기 |
FETCHES | 가져온(row fetch) 횟수 |
ROWS_PROCESSED | 처리된 총 행(Row) 수 |
V$SQLAREA 활용 예제
- 공유 풀에 있는 SQL 문 목록 조회
- SELECT SQL_ID, SQL_TEXT, EXECUTIONS, BUFFER_GETS, DISK_READS
- FROM V$SQLAREA
- ORDER BY EXECUTIONS DESC;
- 특정 SQL 문 검색
- SELECT SQL_ID, SQL_TEXT, EXECUTIONS
- FROM V$SQLAREA
- WHERE SQL_TEXT LIKE '%EMP%';
- 비효율적인 SQL 문 찾기 (버퍼 읽기 높은 순)
- SELECT SQL_ID, SQL_TEXT, BUFFER_GETS, EXECUTIONS
- FROM V$SQLAREA
- WHERE EXECUTIONS > 100
- ORDER BY BUFFER_GETS DESC;
V$SQLAREA vs V$SQL
- V$SQLAREA는 SQL 문을 SQL ID별로 그룹화하여 요약된 정보를 제공
- V$SQL은 SQL 문별 개별 실행 정보까지 포함 (더 상세한 정보)
V$SQLAREA는 오라클의 공유 SQL 영역에 저장된 SQL 문들의 실행 통계를 제공하는 뷰
- 주로 성능 분석 및 SQL 튜닝에 활용
- SQL_ID, EXECUTIONS, BUFFER_GETS 등의 컬럼을 확인하여 성능 저하 원인을 찾을 수 있음
튜닝할 SQL 문을 찾고 싶다면, V$SQLAREA를 활용하여 자주 실행되거나 비효율적인 SQL 문을 파악하는 것이 중요합니다. 🚀