Oracle exp中compress引數的影響測試
Oracle exp 中 compress 引數的影響測試
1 建立表時 initial 預設為 64K ,手動設定為 5M ;
SQL> create table t1(id number) storage(initial 5m);
2 沒有 T1 的相關資料
SQL> select segment_name,bytes,initial_extent from user_segments;
原因: 在沒有插入資料時,不會分配空間,在使用者段中也查詢不到,這是 11g 的新功能,延時段分配;
3 插入資料
SQL> insert into t1 values(1);
SQL> COMMIT;
4 t1 表所佔空間為 5M ,初始值 5M
SQL> select segment_name,bytes,initial_extent from user_segments;
T1(bytes=5242880,initial_extent=5242880)
5 清空表
SQL> truncate table t1;
6 t1 表所佔空間變成 initial 初始值 5M
SQL> select segment_name,bytes,initial_extent from user_segments;
T1(bytes=5242880,initial_extent=5242880)
SQL> select 5242880/1024/1024 from dual; ---5M
清空表後,t1 仍然佔有5M 的空間,即初始區分配的大小
7 更改 initial 引數
SQL> alter table t1 move storage(initial 64K);
SQL> select segment_name,bytes,initial_extent from user_segments;
T1( bytes=65536 ,initial_extent=65536)
8 插入資料
SQL> insert into t1 select level as id from dual connect by level<=100;
9 t1 表所佔空間為 64K
SQL> select segment_name,bytes,initial_extent from user_segments;
T1(bytes=65536,initial_extent=65536)
因為插入的資料很小,不足64K ,所以區的個數沒有增加
10 清空表 t1
SQL> truncate table t1;
SQL> select segment_name,bytes,initial_extent from user_segments;
T1(bytes=65536,initial_extent=65536)
11 插入大量資料
SQL> insert into t1 select level as id from dual connect by level<=1000000;
12 查詢 , 表 t1 所佔空間 13M ,區擴充套件 28 個
SQL> select segment_name,bytes,initial_extent from user_segments;
T1(bytes=13631488,initial_extent=65536,extents=28)
select 13631488/1024/1024 from dual;---13M
13 exp 匯出 t1( 不指定 compress 引數,則預設 Y)
[oracle11@back ~]$ exp chen/chen file=a.dmp tables=t1
......
About to export specified tables via Conventional Path ...
. . exporting table T1 1000000 rows exported
Export terminated successfully without warnings.
......
14 匯入
SQL> show user
USER is "CHEN"
SQL> drop table t1 purge;
[oracle11@back ~]$ imp chen/chen file=a.dmp fromuser=chen touser=chen ignore=y
......
. importing CHEN's objects into CHEN
. . importing table "T1" 1000000 rows imported
Import terminated successfully without warnings.
......
SQL> col segment_name for a25
SQL> select segment_name,bytes,initial_extent,EXTENTS from user_segments;
SEGMENT_NAME BYTES INITIAL_EXTENTS EXTENTS
------------------------- ---------- -------------- -------
T1 13631488 13631488 1
.....
10 rows selected.
匯入後表 t1 的 初始值 自動變成所有區的 總和 , 區由 28 個變成1 個 ,也就是將 28 個區壓縮成一個區 ,這是由於 compress=Y 引數引起的。
compress=Y 主要目的是 為了消除儲存碎片 ,以保證某張表的所有記錄都儲存在連續的空間裡。
但是負面效應很明顯,且自 oracle9i 開始,使用了本地管理的表空間,儲存碎片的問題應該比低版本好多了。
15 更改 t1 初始值為 64K
SQL> alter table t1 move storage(initial 64k);
SQL> select segment_name,bytes,initial_extent from user_segments;
SEGMENT_NAME BYTES INITIAL_EXTENT
------------------------- ---------- --------------
T1 13631488 65536
......
10 rows selected.
16 重新匯出匯入 , 指定 compress=n
[oracle11@back ~]$ rm -rf a.dmp
[oracle11@back ~]$ exp chen/chen file=a.dmp tables=t1 compress=n
......
About to export specified tables via Conventional Path ...
. . exporting table T1 1000000 rows exported
Export terminated successfully without warnings.
......
SQL> drop table t1 purge;
[oracle11@back ~]$ imp chen/chen file=a.dmp fromuser=chen touser=chen ignore=y
......
. importing CHEN's objects into CHEN
. . importing table "T1" 1000000 rows imported
Import terminated successfully without warnings.
......
17 匯出時取消壓縮 (compress=N), 初始值和區的個數不變
SQL> select segment_name,bytes,initial_extent from user_segments;
SEGMENT_NAME BYTES INITIAL_EXTENT EXTENTS
------------------------- ---------- -------------- -------
T1 13631488 65536 28
......
10 rows selected.
歡迎關注我的微信公眾號"IT小Chen",共同學習,共同成長!!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-1775132/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle JDBC ResultSet引數測試OracleJDBC
- Oracle 11g 測試停庫對job的影響Oracle
- JVM 引數調整對 sortx 的影響JVM
- Java教程:影響MySQL效能的配置引數JavaMySql
- 測試修改作業系統時間&時區對oracle的影響作業系統Oracle
- 影響測試進度因素
- 瞭解 ignore_above 引數對 Elasticsearch 中磁碟使用的影響Elasticsearch
- 介面測試 - 引數測試
- 人工智慧對軟體測試的影響人工智慧
- 持續交付會如何影響測試
- JPEG的量化引數QP如何影響壓縮質量
- Kafka之acks引數對訊息持久化的影響Kafka持久化
- Oracle面試寶典-引數篇Oracle面試
- ORACLE filesystemio_options引數詳解及IO場景測試Oracle
- MogDB/openGauss 壞塊測試-對啟動的影響-測試筆記1筆記
- Oracle中的sysctl.conf核心引數Oracle
- MySQL:Innodb:innodb_flush_log_at_trx_commit引數影響的位置MySqlMIT
- oracle exp和impOracle
- Oracle OCP(54):EXPOracle
- Oracle-exp命令Oracle
- mysql的DDL操作對業務產生影響測試MySql
- MySQL:slave_skip_errors引數對MGR可用性的影響MySqlError
- 介面測試-引數校驗
- oracle中的processes,session,transaction引數詳解OracleSession
- MySQL:簡單記錄character_set_server影響引數MySqlServer
- 測試多分支開發對合並程式碼的影響
- 軟體測試對軟體質量的影響有那些?
- 修改系統時間對oracle的影響Oracle
- 【CURSOR】Oracle繫結變數、執行計劃對遊標的影響Oracle變數
- 福祿克測試中的串擾是什麼?會有什麼影響呢?
- 【exp/imp不同版本】Oracle不同版本的exp/imp使用注意事項Oracle
- 度量BGP監測源數量對AS可見性的影響
- Oracle 核心引數Oracle
- exp和expdp的filesize引數的使用--匯出多個檔案
- ORACLE中Cursor_sharing引數詳解Oracle
- 修改主機時區對Oracle的影響分析Oracle
- oracle點陣圖索引對DML操作的影響Oracle索引
- Oracle優化案例-select中to_clob對效能的影響(二十一)Oracle優化
- ORACLE並行相關的引數Oracle並行