oracle提供2種模式匯出表資料,傳統模式conventional path和直接模式direct path,有direct指定。 conventional path export 比較direct path export
一、差異
1. conventional path export. ------------------------- 傳統匯出模式使用sql select語句抽取表資料。將資料從磁碟中讀入到buffer cache緩衝區中,並應用sql表示式,將紀錄返回給匯出客戶端,然後寫到匯出檔案。
2. direct path export. ------------------- 直接匯出模式,資料直接從磁碟中讀取到匯出session的uga中,跳過了sql命令處理層。避免了不必要的資料轉換, 然後將紀錄返回給匯出客戶端,然後寫到到處檔案 跳過了sql命令處理層表示direct匯出不支援query選項。
二、效能
1. direct export 比conventional export要快很多。在實際應用中,如果直接模式匯出需要時間n,傳統模式匯出則需要2*n到3*n之間。
2. 當direct export 的時候設定大的recordlength(length of io record) 引數可以加快匯出。最大64k,
exp userid=system/manager full=y direct=y recordlength=65535 file=exp_full.dmp log=exp_full.log
imp userid=system/manager full=y recordlength=65535 file=exp_full.dmp log=imp_full.log
3. direct 模式匯出並不影響匯入資料的速度;匯入資料與傳統模式花費時間一樣。
三、限制
1. 匯出表空間必須使用傳統模式。
2. 含有lob物件的表不支援直接匯出模式。
3. 直接匯出不支援query.
4. 直接匯出模式使用recordlength設定一次可以匯出資料的量,傳統模式使用buffer設定.
5. 低版本直接匯出模式要求匯出客戶端和資料庫字符集設定一致。 直接匯出模式bug比傳統模式要多,但由於其匯出資料在效能上的優勢,仍然要多加使用。
hive中有關分桶
首先,在hive中為什麼要分桶?單個分割槽或者表中的資料量越來越大,當分割槽不能更細粒度的劃分資料時,會採用分桶的技術將資料更加細粒度的劃分和管理。分割槽和分桶的區別 分割槽 乙個分割槽在表目錄之中就是目錄下的乙個檔案,在表中的字段因為是偽列,所以定義分割槽的時候應該加上 對應的字段型別。例如 cr...
Oracle中有關Latch的介紹
本文向各位闡述oracle的latch機制,latch,用金山詞霸翻譯是門插栓,閉鎖,專業術語叫鎖存器,我開始接觸時就不大明白為什麼不寫lock,不都是鎖嗎?只是翻譯不同而以?研究過後才知道兩者有很大的區別。latch是oracle提供的輕量級鎖資源,他用於快速,短時間的鎖定資源,防止多個併發程序同...
c 中有關size type的問題
sizt t是 c 的乙個標準的 typedef.全域性有效,定義在全域性命名空間中 size type是 stl定義的,只在 namespace std 中有效vc6中定義 size t 為typedef unsigned int size t size type應該是 c 為例如 string ...