Oracle 의 ROWID 와 ROWNUM.

2357 단어 Oaclerowidrownum
Oracle 의 표 사용 과정 에서 실제 표 에는 위 열 이 라 고 불 리 는 추가 열 이 있다.위 열 은 표 의 열 과 같 지만 표 에 저장 되 지 않 습 니 다.위조 열 은 조회 만 할 수 있 을 뿐, 첨삭 과 수정 작업 을 할 수 없다.Oacle 의 ROWID 와 ROWNUM 은 그 중의 위 열 입 니 다.
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 
Connected as scott

 
1. ROWID: 표 에 열 거 된 데이터 가 없 는 물리 적 주소.ROWID 를 통한 조회 표 의 효율 성 이 가장 높다.
SQL> select t.ename,rowid from emp t;
 
ENAME      ROWID
---------- ------------------
SMITH      AAAR3sAAEAAAACXAAA
ALLEN      AAAR3sAAEAAAACXAAB
WARD       AAAR3sAAEAAAACXAAC
JONES      AAAR3sAAEAAAACXAAD
MARTIN     AAAR3sAAEAAAACXAAE
BLAKE      AAAR3sAAEAAAACXAAF
CLARK      AAAR3sAAEAAAACXAAG
SCOTT      AAAR3sAAEAAAACXAAH
KING       AAAR3sAAEAAAACXAAI
TURNER     AAAR3sAAEAAAACXAAJ
ADAMS      AAAR3sAAEAAAACXAAK
JAMES      AAAR3sAAEAAAACXAAL
FORD       AAAR3sAAEAAAACXAAM
MILLER     AAAR3sAAEAAAACXAAN
 
14 rows selected

SQL> select t.ename,rowid from emp t where t.rowid = 'AAAR3sAAEAAAACXAAA';
 
ENAME      ROWID
---------- ------------------
SMITH      AAAR3sAAEAAAACXAAA

 Oacle 의 각종 색인 은 서로 다른 경 로 를 통 해 ROWID 를 얻어 효율 적 인 조 회 를 이 루 는 것 이다.
 
2. ROWNUM: 결 과 는 각 줄 의 줄 번호 에 집중 되 고 첫 번 째 행 위 는 1 이 며 줄 번호 마다 1 이 증가 하 며 WHERE 조건 에서 ROWNUM 은 크 면 안 된다 는 뜻 이다.
SQL> select ename,rownum from emp;
 
ENAME          ROWNUM
---------- ----------
SMITH               1
ALLEN               2
WARD                3
JONES               4
MARTIN              5
BLAKE               6
CLARK               7
SCOTT               8
KING                9
TURNER             10
ADAMS              11
JAMES              12
FORD               13
MILLER             14
 
14 rows selected


--   ROWNUM       。(    5   ,     )
SQL> select * from (select * from (select ename,rownum r from emp) t where r <= (2*5)) t2 where r > ((2-1)*5);
 
ENAME               R
---------- ----------
BLAKE               6
CLARK               7
SCOTT               8
KING                9
TURNER             10

좋은 웹페이지 즐겨찾기