Oracle SecureFile的功能第2/4页

 更新时间:2009年06月17日 00:56:03   作者:  
Oracle SecureFile的功能

ALTER TABLE deduplicate_tab MODIFY LOB(clob_data) (
  KEEP_DUPLICATES
  );
  EXEC DBMS_STATS.gather_table_stats(USER, 'deduplicate_tab');
  COLUMN segment_name FORMAT A30
  SELECT segment_name, bytes
  FROM user_segments
  WHERE segment_name IN ('KEEPDUP_LOB', 'DEDUP_LOB');
  SEGMENT_NAME BYTES
  ------------------------------ ----------
  DEDUP_LOB 76808192
  KEEPDUP_LOB 68091904
  2 rows selected.
  SQL>

  LOB压缩

  SecureFile的COMPRESS选项在表或分区一级上开启了对LOB内容的压缩,使用关键字MEDIUM和HIGH表示压缩的等级,如果没有指定压缩等级,就默认为MEDIUM,对LOB内容进行压缩会增加系统开销,因此使用高等级的压缩可能会对系统性能产生不良影响,SecureFile LOB的压缩功能不影响表压缩,反之亦然,下面的例子对比了使用普通的SecureFile LOB和启用压缩功能的SecureFile LOB的空间利用情况。


  CREATE TABLE nocompress_tab (
  id NUMBER,
  clob_data CLOB
  )
  LOB(clob_data) STORE AS SECUREFILE nocompress_lob(
  NOCOMPRESS
  );
  CREATE TABLE compress_tab (
  id NUMBER,
  clob_data CLOB
  )
  LOB(clob_data) STORE AS SECUREFILE compress_lob (
  COMPRESS HIGH
  );
  DECLARE
  l_clob CLOB := RPAD('X', 10000, 'X');
  BEGIN
  FOR i IN 1 .. 1000 LOOP
  INSERT INTO nocompress_tab VALUES (i, l_clob);
  END LOOP;
  COMMIT;
  FOR i IN 1 .. 1000 LOOP
  INSERT INTO compress_tab VALUES (i, l_clob);
  END LOOP;

ALTER TABLE deduplicate_tab MODIFY LOB(clob_data) (
  KEEP_DUPLICATES
  );
  EXEC DBMS_STATS.gather_table_stats(USER, 'deduplicate_tab');
  COLUMN segment_name FORMAT A30
  SELECT segment_name, bytes
  FROM user_segments
  WHERE segment_name IN ('KEEPDUP_LOB', 'DEDUP_LOB');
  SEGMENT_NAME BYTES
  ------------------------------ ----------
  DEDUP_LOB 76808192
  KEEPDUP_LOB 68091904
  2 rows selected.
  SQL>

  LOB压缩

  SecureFile的COMPRESS选项在表或分区一级上开启了对LOB内容的压缩,使用关键字MEDIUM和HIGH表示压缩的等级,如果没有指定压缩等级,就默认为MEDIUM,对LOB内容进行压缩会增加系统开销,因此使用高等级的压缩可能会对系统性能产生不良影响,SecureFile LOB的压缩功能不影响表压缩,反之亦然,下面的例子对比了使用普通的SecureFile LOB和启用压缩功能的SecureFile LOB的空间利用情况。


  CREATE TABLE nocompress_tab (
  id NUMBER,
  clob_data CLOB
  )
  LOB(clob_data) STORE AS SECUREFILE nocompress_lob(
  NOCOMPRESS
  );
  CREATE TABLE compress_tab (
  id NUMBER,
  clob_data CLOB
  )
  LOB(clob_data) STORE AS SECUREFILE compress_lob (
  COMPRESS HIGH
  );
  DECLARE
  l_clob CLOB := RPAD('X', 10000, 'X');
  BEGIN
  FOR i IN 1 .. 1000 LOOP
  INSERT INTO nocompress_tab VALUES (i, l_clob);
  END LOOP;
  COMMIT;
  FOR i IN 1 .. 1000 LOOP
  INSERT INTO compress_tab VALUES (i, l_clob);
  END LOOP;


相关文章

最新评论