[Oracle] Fetch Call 최소화
2024. 8. 2.
부분범위처리의 원리결과 집합을 전송할 때, 전체 데이터를 쉼 없이 연속적으로 처리하지 않고 사용자로부터 Fetch Call이 있을때마다 일정량씩 나누어서 전송하는것을 말한다. DBMS는 데이터를 클라이언트에게 전송할 때 일정량씩 나누어 전송하며, 오라클의 경우 ArraySize(또는 Fetch Size) 설정을 통해 운반단위를 조절한다. 그리고 전체 결과집합 중 아직 전송하지 않은 분량이 많이 남아 있어도 클라이언트로부터 추가 Fetch Call을 받기 전까지는 그대로 멈춰 서서 기다린다. 또한 클라이언트에게 전송할 량이 끝났어도 (오라클은 끝났는지 모름) 운반단위가 차지 않으면 운반단위가 다 찰때까지 대기한 후 끝까지 다 읽은 후에야 더이상의 데이터가 없음을 인지하고 데이터의 나머지를 내보낸다. ..