프린트 하기

OS환경 : Oracle Linux 6.8 (64bit)


DB 환경 : Oracle Database 11.2.0.4, 12,1.0.1


방법 : 오라클 Table Compress 기능 중 oltp와 advanced 옵션 차이점

Table compress 기능 중 11g에는 아래와 같이 basic과 oltp 라는 두가지 옵션이 존재했음



하지만 12c 부터는 oltp는 없어지고 basic, advanced, warehouse, archive 총 4가지 옵션으로 늘어남



그래서 oltp와 advanced 옵션에 차이가 있는지 알아보기 위해 이글을 작성함

먼저 11g 문서에서 oltp 옵션을 보면 OLTP 응용 프로그램을위한 것이며 모든 SQL문으로 조작 된 데이터를 압축한다고함



그리고 12c 문서에서 advanced 옵션을 보면 advanced 압축은 OLTP 응용 프로그램을위한 것이며 모든 SQL문으로 조작 된 데이터를 압축다고함



즉 동일한 옵션이라는 말


공식 문서상으로도 같다고 나와있고

실제 테스트를 해봐도 

12c 에서 oltp 옵션을 주고 생성했을 때 결과를 보면 advanced로 표시됨

advanced 옵션을 주고 생성해도 advanced로 표시됨

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
임시 테이블 생성
drop table maxtest purge;
CREATE TABLE MAXTEST(COLA VARCHAR2(20), COLB NUMBER, COLC NUMBER, 
COLD VARCHAR2(30), COLE VARCHAR2(30), COLF VARCHAR2(30), 
COLG NUMBER, COLH VARCHAR2(30), COLI VARCHAR2(30)) tablespace imsi;
 
벌크 인서트로 삽입
DECLARE
TYPE tbl_ins IS TABLE OF MAXTEST%ROWTYPE INDEX BY BINARY_INTEGER;
w_ins tbl_ins;
BEGIN
FOR i IN 1..1400000 LOOP 
   w_ins(i).COLA :=i;
   w_ins(i).COLB :=300000;
   w_ins(i).COLC :=99;
   w_ins(i).COLD :='DDDDDDDDDDDDDDDD';
   w_ins(i).COLE :='EEEEEEEEEEEEEEEE';
   w_ins(i).COLF :='FFFFFFFFFFFFFFFF';
   w_ins(i).COLG :=9999999;
   w_ins(i).COLH :='HHHHHHHHHHHHHHHHHHHHHHHHHH';
   w_ins(i).COLI :='IIIIIIIIIIIIIIIIIIIIIIIIII';
END LOOP;
   FORALL i in 1..1400000 INSERT INTO MAXTEST VALUES w_ins(i);
   COMMIT;
END;
/
 
OLTP 옵션으로 테이블 생성
CREATE TABLE TEST_OLTP
TABLESPACE IMSI
COMPRESS FOR OLTP
AS
SELECT *
FROM MAXTEST
WHERE 1 = 2 ;
 
ADVANCED 옵션으로 테이블 생성
CREATE TABLE TEST_ADVAN
TABLESPACE IMSI
ROW STORE COMPRESS ADVANCED
AS
SELECT *
FROM MAXTEST
WHERE 1 = 2 ;
 
테이블 압축 레벨 확인
col table_name for a20
SELECT table_name, compression, compress_for
FROM user_tables
where table_name like 'TEST%';
 
TABLE_NAME         COMPRESS COMPRESS_FOR
-------------------- -------- ------------------------------
TEST_OLTP          ENABLED  ADVANCED
TEST_ADVAN         ENABLED  ADVANCED



결론 : oracle의 table compress 기능 중 oltp와 advanced는 동일한 옵션이다.



참조 : https://positivemh.tistory.com/340

https://docs.oracle.com/database/121/ADMIN/tables.htm#ADMIN11628

https://docs.oracle.com/cd/E18283_01/server.112/e16508/tablecls.htm#CNCPT1132