- 테이블의 한 ROW에 여러 LOB 컬럼이 있을 수 있는 반면, LONG 또는 LONG RAW 컬럼은 한 ROW에 하나 밖에 사용될 수 없다.
- LOB는 사용자 정의 데이터 타입 (user-defined datatype)의 속성 (attribute) 으로 사용 될 수 있는 반면, LONG이나 LONG RAW는 속성으로 사용될 수 없다.
- LONG 또는 LONG RAW는 값 전체가 테이블 내에 저장이 되는 반면, LOB는 테이블 컬럼내에 LOB locator만 저장이된다.
BLOB과 CLOB (내부 LOB) 데이터는 별도의 테이블스페이스에 저장시킬 수 있으며, BFILE (외부 LOB) 데이터는 데이터베이스 외부의 별도 파일로 존재한다. 따라서 LOB 컬럼을 액세스할 경우에는, locator 값만 return되는 반면, LONG이나 LONG RAW 컬럼을 액세스할 경우에는, 전체 값이 return 된다.
- LOB 데이터는 4GB까지 저장이 가능하며, BFILE 컬럼이 가리키는 파일 크기는 4GB 이내에서 OS에서 지원하는 최대 크기까지 가능하다. 한편 LONG이나 LONG RAW 데이터 타입에서는 2GB 까지만 지원이 가능하다.
- 데이터에 대한 랜덤 액세스 기능 또는 데이터 조작을 할 경우 LOB를 사용하는 것이 LONG 또는 LONG RAW를 사용하는 것에 비해 훨씬 많은 기능을 사용할 수 있다.
- LOB는 랜덤 액세스가 가능한 반면, LONG 타입에 저장된 데이터는 처음부터 원하는지점까지 순차적으로 읽어 처리하여야 한다.
- LOB 데이터에 대한 replication을 local 또는 remote에서 수행할 수 있는 반면, LONG / LONG RAW 컬럼 데이터는 replication이 되지 않는다.
- LONG 컬럼의 데이터는 TO_LOB()라는 함수를 사용하여 LOB으로 변환 가능하지만, LOB을 LONG / LONG RAW로 변환 하는 기능은 제공되지 않는다.
- LOB는 클러스터 테이블에서는 사용할 수 없으며, 따라서 클러스터 키로도 사용할 수 없다.
- LOB 컬럼은 GROUP BY, ORDER BY, SELECT DISTINCT 등에 사용할 수 없으며 JOIN 에도 사용할 수 없다.
- LOB 컬럼은 ANALYZE ... COMPUTE/ESTIMATE STATISTICS 명령 사용 시에도 Analyze 되지 않는다.
- LOB는 파티션된 IOT (Index Organized Table)에는 사용할 수 없다. 그러나 파티션 되어 있지 않은 IOT에는 사용할 수 있다.
- LOB는 VARRAY에는 사용할 수 없다.
- NCLOB은 OBJECT TYPE의 속성(attribute)으로 사용될 수 없으나, 메소드 정의를 하는 데는 NCLOB 파라미터를 사용할 수 있다.
- 강좌 URL : http://www.gurubee.net/lecture/1841
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.