Angesichts der vorhin erwähnten Untersuchung von Julian Dyke habe ich noch mal überprüft, ob sich hinsichtlich des Themas compression in 12c Grundsätzliches verändert hat, und dazu folgendes Script verwendet:
drop table t_no_compress; drop table t_basic_compress; drop table t_oltp_compress; create table t_no_compress as select rownum id , 10 col1 , lpad('*', 50, '*') padding from dual connect by level <= 100000; create table t_basic_compress compress as select * from t_no_compress; create table t_oltp_compress compress for oltp as select * from t_no_compress; exec dbms_stats.gather_table_stats(user, 't_no_compress', estimate_percent=>0) exec dbms_stats.gather_table_stats(user, 't_basic_compress', estimate_percent=>0) exec dbms_stats.gather_table_stats(user, 't_oltp_compress', estimate_percent=>0) select table_name , num_rows , blocks , compression , compress_for from user_tables where table_name in ('T_NO_COMPRESS', 'T_BASIC_COMPRESS', 'T_OLTP_COMPRESS') order by table_name; update t_no_compress set col1 = col1 + 1; update t_basic_compress set col1 = col1 + 1; update t_oltp_compress set col1 = col1 + 1; exec dbms_stats.gather_table_stats(user, 't_no_compress', estimate_percent=>0) exec dbms_stats.gather_table_stats(user, 't_basic_compress', estimate_percent=>0) exec dbms_stats.gather_table_stats(user, 't_oltp_compress', estimate_percent=>0) select table_name , num_rows , blocks , compression , compress_for from user_tables where table_name in ('T_NO_COMPRESS', 'T_BASIC_COMPRESS', 'T_OLTP_COMPRESS') order by table_name;
Das Script liefert mir folgende Ergebnisse:
-- 11.1.0.7 -- vor dem Update TABLE_NAME NUM_ROWS BLOCKS COMPRESS COMPRESS_FOR ------------------------------ ---------- ---------- -------- ------------ T_BASIC_COMPRESS 100000 162 ENABLED BASIC T_NO_COMPRESS 100000 909 DISABLED T_OLTP_COMPRESS 100000 179 ENABLED OLTP -- nach dem Update TABLE_NAME NUM_ROWS BLOCKS COMPRESS COMPRESS_FOR ------------------------------ ---------- ---------- -------- ------------ T_BASIC_COMPRESS 100000 1138 ENABLED BASIC T_NO_COMPRESS 100000 909 DISABLED T_OLTP_COMPRESS 100000 508 ENABLED OLTP -- 12.1.0.1 -- vor dem Update TABLE_NAME NUM_ROWS BLOCKS COMPRESS COMPRESS_FOR ------------------------------ ---------- ---------- -------- ------------------------------ T_BASIC_COMPRESS 100000 151 ENABLED BASIC T_NO_COMPRESS 100000 909 DISABLED T_OLTP_COMPRESS 100000 166 ENABLED ADVANCED -- nach dem Update TABLE_NAME NUM_ROWS BLOCKS COMPRESS COMPRESS_FOR ------------------------------ ---------- ---------- -------- ------------------------------ T_BASIC_COMPRESS 100000 1138 ENABLED BASIC T_NO_COMPRESS 100000 909 DISABLED T_OLTP_COMPRESS 100000 508 ENABLED ADVANCED
Ich will nicht behaupten, dass dieser Test alle denkbaren Fragen zum Thema beantwortet, aber auf den ersten Blick wirken die Ergebnisse ähnlich genug, um mich davon zu überzeugen, dass hier keine dramatische Verhaltensänderung im Spiel ist. Eine solche wäre aber vermutlich auch schon irgendwo erwähnt worden.
Keine Kommentare:
Kommentar veröffentlichen