Note/DB

oracle - Rownum

Delia :D 2011. 9. 20. 18:41
이름이 Table_nm  인 테이블을 조회한다고 하자.

DB에 데이터가 많으면 select * from Table_nm 했을 경우 
너무오래 걸려서 시스템에 부하가 갈수도 있고 lock을 초래 할 수도 있다.

데이터확인을 위한 단순 select 를 할때는 
rownum  사용하는 습관을 들이도록 하자.
rownum 은 쿼리가 실행될 때 결과 레코드에 번호를 나타내어 주는 필드이다.
 

사용방법
select * from Table_nm  
where rownum > 10 and rownum <= 20 ;
select * from Table_nm ;
 
했을때의 결과 중
레코드번호가 10보다 크고 20보다 작은 데이터만 보여지게 된다.

rownum 은 데이터가 보여지는 순서와는 별개이다.
오라클 DB자체적으로 붙여지는 행번호 이기 때문에
가져오려는 데이터가 정렬 되어져야 한다면, 원하는 결과물이 나오지 않을 수 있다. 

*rownum 에 더 자세히 알아보려면 여기 참고.

http://entireboy.egloos.com/4487336 

*mysql 의 limit 와의 비교
http://blog.naver.com/sk9860074/150010775313


주의

Rownum 과 ROW_NUMBER() 는 사용방법이 다르므로 주의해야 한다.

*Rownum 과 ROW_NUMBER() 비교

http://develop.sunshiny.co.kr/480 




'Note > DB' 카테고리의 다른 글

mysql 기본 - Limit  (0) 2011.09.20
mssql 기본 - TOP  (0) 2011.09.20
MSSQL 숫자관련함수  (0) 2011.09.20
MSSQL 활성중인 트랜잭션, LOCK 조회 쿼리  (0) 2011.07.26
MSSQL Server Version 확인쿼리  (0) 2011.07.26