programing

Oracle/SQL의 ROWID 데이터 유형

lovejava 2023. 10. 16. 21:24

Oracle/SQL의 ROWID 데이터 유형

Oracle/SQL의 ROWID 데이터 유형은 무엇입니까?이 값은 어떻게 저장됩니까?

다음 링크는 ROWID의 데이터 유형을 설명합니다 - ROWID 데이터 유형

ROWID는 Psue dolumn으로 저장됩니다.

ROWID 데이터 유형은 테이블 행의 디스크 위치와 관련된 정보를 저장합니다.또한 테이블의 행을 고유하게 식별합니다.ROWID 데이터 유형은 16진수로 저장됩니다.

따라서 16진수 문자열은 해당 테이블에 있는 행의 고유 주소를 나타냅니다.

ROWID(Oracle 8에서 extended ROWID로 불림)는 행의 물리적 위치를 저장/부호화합니다.

(확장) ROWID는 (16진수 형식으로) OBJID(행이 속한 객체의 고유 ID), FILENO(객체가 생성되는 TABLACKPACE 내의 상대 파일 번호), BLOCKNO(파일 내의 상대 블록 번호), ROWNUM(블록 내의 행의 상대 번호) 필드를 인코딩합니다.

(제한된) ROWID에 FILENO(데이터베이스 내의 상대 파일 번호), BLOCKNO 및 ROWNUM(확장 ROWID에서와 같이)만 포함하고 OBJ는 포함하지 않았습니다.신분증.

ROWID는 언제든지 데이터베이스의 행을 고유하게 인코딩합니다(아마도 동일한 ROWID를 공유하는 클러스터된 이야기는 제외). ROWID는 데이터베이스 재구성으로 인해 변경될 수 있으며 재사용될 수도 있습니다(예: 삭제 및 삽입 후 새 행은 ROWID를 재사용할 수 있습니다).테이블 내보내기/가져오기도 테이블의 새 ROWID를 재할당합니다.

확장 ROWID 형식의 데이터베이스마다 FILENO가 반드시 유일한 것은 아니지만 확장 형식에는 OBJ도 포함되어 있으므로 주의하십시오.ID(테이블 객체의 세그먼트가 저장된 테이블 공간을 고유하게 식별)를 통해 고유한 파일을 찾을 수 있습니다.

BLOCKNO는 데이터베이스 파일마다 고유하며 ROWNUM은 데이터베이스 블록마다 고유합니다.

예외:인덱스 정리 테이블 - ROWID가 인덱스 재구성(리프 블록 이동)으로 인해 정확한 블록을 찾을 수 없습니다.

ROWID는 데이터베이스 재구성 작업으로 인해 변경될 수 있습니다.

언급URL : https://stackoverflow.com/questions/11612268/datatype-of-rowid-in-oracle-sql