IT 기술/Oracle

[소개]OTN : ROWNUM의 동작 원리와 활용 방법

ㅇㅔ ㄷㅡ 2007. 8. 13. 14:42
 오라클의 OTN 한글 사이트에 들어가보면 ROWNUM에 관한 Thomas Kyte[각주:1]의 글이 한글로 번역되어서 올라와 있네요.

원문 : ROWNUM의 동작 원리와 활용 방법

 ROWNUM과 이를 활용한 TOP-N Query에 대한 얘기를 하고 있다.
[Effective Oracle by Design][각주:2]의 내용을 일부 차용하여 설명하고 있습니다. Oracle DBMS에 관심이 있다면 읽어볼만한 내용입니다.

오라클 전문가 Tom Kyte가 ROWNUM의 동작 원리와 활용 방법에 대해 설명합니다.

이번 호의 Ask Tom 컬럼은 지금까지와는 조금 다른 내용을 담고 있습니다. 필자는 오라클 데이터베이스에서 Top-N 쿼리와 페이지네이션(pagination) 쿼리를 구현하는 방법에 대해 자주 질문을 받곤 합니다. 하나의 컬럼을 통해 이러한 질문에 한꺼번에 대답하기 위한 방편으로, < Effective Oracle by Design (Oracle Press, 2003)> 의 내용을 인용하기로 했습니다. 컬럼의 포맷에 맞게 책의 내용이 다소 수정되었음을 참고하시기 바랍니다.

결과 셋의 제한

ROWNUM은 오라클 데이터베이스가 제공하는 마술과도 같은 컬럼입니다. 이 때문에 많은 사용자들이 문제를 겪기도 합니다. 하지만 그 원리와 활용 방법을 이해한다면 매우 유용하게 사용할 수 있습니다. 필자는 주로 두 가지 목적으로 ROWNUM을 사용합니다.

  • Top-N 프로세싱: 이 기능은 다른 일부 데이터베이스가 제공하는 LIMIT 구문과 유사합니다.
  • 쿼리 내에서의 페이지네이션(pagination) – 특히 웹과 같은 "stateless" 환경에서 자주 활용됩니다. 필자는 asktom.oracle.com 웹 사이트에서도 이 테크닉을 사용하고 있습니다.

두 가지 활용 방안을 설명하기 전에, 먼저 ROWNUM의 동작 원리에 대해 살펴 보기로 하겠습니다




  1. Thomas Kyte(Tom Kyte)는 1993년부터 오라클에서 일해 왔습니다. 그는 현재 오라클 퍼블릭 섹터 그룹 담당 부사장으로 근무 중이며, Expert Oracle Database Architecture: 9i and 10g Programming Techniques and Solutions (Apress, 2005) , Effective Oracle by Design (Oracle Press, 2003)와 같은 전문서를 집필하였습니다. 또한 ASKTOM(asktom.oracle.com) 웹사이트를 운영하면서 Oracle 관리자 및 개발자들의 질문에 답변을 하고 있습니다. [본문으로]
  2. Thomas Kyte의 저서로  Oracle DBMS에 대한 심도깊은 내용이 담겨있다. http://www.amazon.com/exec/obidos/tg/detail/-/0072230657 [본문으로]