(새 문서: == Round Trips == * Oracle의 round-trips는 클라이언트와 데이터베이스 서버 간의 네트워크 통신 왕복 횟수를 의미합니다. ## Round-trips란? - 클라이언트가 서버에 요청을 보내고 응답을 받는 한 번의 완전한 통신 사이클 - 네트워크 지연시간과 직접적으로 연관되어 성능에 큰 영향을 미침 ===나쁜 예 (많은 round-trips):=== <source lang=sql> -- 각 INSERT마다 1번의 round-trip 발생 INSERT...) |
편집 요약 없음 |
||
| (같은 사용자의 중간 판 하나는 보이지 않습니다) | |||
| 2번째 줄: | 2번째 줄: | ||
* Oracle의 round-trips는 클라이언트와 데이터베이스 서버 간의 네트워크 통신 왕복 횟수를 의미합니다. | * Oracle의 round-trips는 클라이언트와 데이터베이스 서버 간의 네트워크 통신 왕복 횟수를 의미합니다. | ||
{{개요 | |||
|제목= Round-trips란? | |||
::- 클라이언트가 서버에 요청을 보내고 응답을 받는 한 번의 완전한 통신 사이클 | |||
::- 네트워크 지연시간과 직접적으로 연관되어 성능에 큰 영향을 미침 | |||
}} | |||
===나쁜 예 (많은 round-trips):=== | ===나쁜 예 (많은 round-trips):=== | ||
| 64번째 줄: | 66번째 줄: | ||
{{개요 | |||
- | |제목= 성능 최적화 팁 | ||
- | ::- Bulk operations 사용 (INSERT ALL, MERGE) | ||
- | ::- Array processing 활용 | ||
- | ::- PL/SQL 사용으로 서버 사이드 처리 | ||
::- Cursor FOR LOOP 대신 BULK COLLECT 사용 | |||
}} | |||
Round-trips를 줄이는 것이 Oracle 성능 튜닝의 핵심 중 하나입니다. | * Round-trips를 줄이는 것이 Oracle 성능 튜닝의 핵심 중 하나입니다. | ||
[[category:oracle]] | [[category:oracle]] | ||
2025년 9월 25일 (목) 10:34 기준 최신판
Round Trips
- Oracle의 round-trips는 클라이언트와 데이터베이스 서버 간의 네트워크 통신 왕복 횟수를 의미합니다.
list_altRound-trips란?
- - 클라이언트가 서버에 요청을 보내고 응답을 받는 한 번의 완전한 통신 사이클
- - 네트워크 지연시간과 직접적으로 연관되어 성능에 큰 영향을 미침
나쁜 예 (많은 round-trips):
-- 각 INSERT마다 1번의 round-trip 발생 INSERT INTO test VALUES (1, 'data1'); INSERT INTO test VALUES (2, 'data2'); INSERT INTO test VALUES (3, 'data3'); -- 총 3번의 round-trips
좋은 예 (적은 round-trips):
-- 한 번의 round-trip으로 처리 INSERT ALL INTO test VALUES (1, 'data1') INTO test VALUES (2, 'data2') INTO test VALUES (3, 'data3') SELECT * FROM dual; -- 총 1번의 round-trip
Round-trips 확인 방법
SQL Trace 활용
ALTER SESSION SET SQL_TRACE = TRUE; -- 쿼리 실행 ALTER SESSION SET SQL_TRACE = FALSE;
V$SESSTAT로 확인
SELECT s.name, ms.value
FROM v$mystat ms, v$statname s
WHERE ms.statistic# = s.statistic#
AND s.name IN ('SQL*Net roundtrips to/from client');
Batch 처리로 Round-trips 줄이기
# Python cx_Oracle 예시
cursor.executemany(
"INSERT INTO test VALUES (:1, :2)",
[(1, 'data1'), (2, 'data2'), (3, 'data3')]
)
# 여러 건을 한 번의 round-trip으로 처리
list_alt성능 최적화 팁
- - Bulk operations 사용 (INSERT ALL, MERGE)
- - Array processing 활용
- - PL/SQL 사용으로 서버 사이드 처리
- - Cursor FOR LOOP 대신 BULK COLLECT 사용
- Round-trips를 줄이는 것이 Oracle 성능 튜닝의 핵심 중 하나입니다.