Oracle幾種表的優缺點總結

lhrbest發表於2017-06-14

Oracle 幾種表的優缺點總結




  





 從理論上來看,根本就不存在一種能夠滿足所有讀取要求的資料儲存方式


表的設計成就英雄,沒有最高的技術只有最合適的技術。

技術其實並不難,最難的是如何選擇。

oracle 中的表大概分為以下5類:

① 普通堆表

② 全域性臨時表 又分為 基於會話的全域性臨時表 基於事務的全域性臨時表

③ 分割槽表

④ 索引組織表

⑤ 簇表





1,普通表(heap table):適合大部分設計場景,有優點也有缺點。
優點:
a,語法簡單方便
b,適合大部分場景
缺點:
a,更新日誌開銷較大
b,Delete無法釋放空間(HWM High Water Mark不下降)
c,表記錄太大檢索太慢
d,索引回表讀開銷很大
e,即便有序插入,也很難保證有序讀出

2,全域性臨時表:適合介面表設計
優點:
a,高效刪除
b,產生很少的日誌
c,不同的SESSION獨立,不產生鎖
缺點:
a,語法特別
b,資料無法得到有效的保護
全域性臨時表分兩類:
一個是基於會話的全域性臨時表(on commit preserve rows),一個是基於事務的全域性臨時表(on commit delete rows),下面就是建立的例子:
create global temporary table T_TMP_SESSION on commit preserve rows as select * from dba_objects;
create global temporary table T_TMP_TRANSACTION on commit delete rows as select * from dba_objects;

3,分割槽表:尤其適合日誌表,非常大的表
優點:
a,有效的分割槽消除 (分割槽裁剪)
b,高效的記錄清理(即可以對某一個分割槽進行truncate)
c,高效的記錄轉移(分割槽交換)
缺點:
a,語法複雜
b,分割槽過多對系統有一定的影響

4,索引組織表:適合極少更新的表
優點:
a,表就是索引,可以避免回表
缺點:
a,語法複雜
b,更新開銷較大

5,蔟表:使用頻繁關聯查詢的多表
優點:
a,可以減少或避免排序
缺點:
a,語法複雜
b,表更新開銷大





About Me

...............................................................................................................................

● 本文整理自網路

● 本文在itpub(http://blog.itpub.net/26736162)、部落格園(http://www.cnblogs.com/lhrbest)和個人微信公眾號(xiaomaimiaolhr)上有同步更新

● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/

● 本文部落格園地址:http://www.cnblogs.com/lhrbest

● 本文pdf版及小麥苗雲盤地址:http://blog.itpub.net/26736162/viewspace-1624453/

● 資料庫筆試面試題庫及解答:http://blog.itpub.net/26736162/viewspace-2134706/

● QQ群:230161599     微信群:私聊

● 聯絡我請加QQ好友(646634621),註明新增緣由

● 於 2017-06-02 09:00 ~ 2017-06-30 22:00 在魔都完成

● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解

● 版權所有,歡迎分享本文,轉載請保留出處

...............................................................................................................................

拿起手機使用微信客戶端掃描下邊的左邊圖片來關注小麥苗的微信公眾號:xiaomaimiaolhr,掃描右邊的二維碼加入小麥苗的QQ群,學習最實用的資料庫技術。

Oracle幾種表的優缺點總結
DBA筆試面試講解
歡迎與我聯絡

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2140734/,如需轉載,請註明出處,否則將追究法律責任。

相關文章