Oracle 堆組織表(HOT)
Oracle實際應用中,經常會用到table,對於table的研究自己之前並沒有過多的參與, 最近讀了一下tom的書後,對table又有了一點新的認識.
table在Oracle中被分為很多的類種,我們平時在create table時,最常用到的型別就是堆組織表了(HOT),那麼heap我們都知道是一種經典的資料結構,是一塊磁碟或記憶體的空間,那麼在應用上是按照一種顯示隨機的方式進行管理的,由於這樣的特性致使使用者可能不能按照表中插入的順序來獲得表中的資料,除非在表中增加一個可以order by排序的列,那麼在獲取資料的時候才有可能按照insert的順序來獲取. 其實可以用一句話來形容堆組織表就是對於表中的block,只要是能夠儲存資料,那麼就會把新資料存放在可用空間裡面而可能完全忽略了實際insert的順序.因此在做FTS時,oracle會按照實際命中行的順序來獲取資料,而不是按照insert的順序.所以我們可以說HOT表是一種無序的資料集合:
下面看一個小實驗:
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for IBM/AIX RISC System/6000: Version 10.2.0.3.0 - Productio
NLSRTL Version 10.2.0.3.0 - Production
SQL> show parameter db_block_size;
NAME TYPE VALUE
------------------------------------ ----------- --------------------------
db_block_size integer 8192
SQL> create table t
2 (a int,
3 b varchar2(4000) default rpad('*',4000,'*'),
4 c varchar2(3000) default rpad('*',3000,'*')
5 );
Table created.
--對於預設的create table方式生成的表型別是HOT.
SQL> insert into t(a) values(1);
1 row created.
SQL> insert into t(a) values(2);
1 row created.
SQL> insert into t(a) values(3);
1 row created.
SQL> select a from t;
A
----------
1
2
3
SQL> delete from t where a=2;
1 row deleted.
SQL> select a from t;
A
----------
1
3
SQL> insert into t(a) values(4);
1 row created.
SQL> select a from t;
A
----------
1
4
3
另外在create table時相對於堆組織表來說有一些引數可以供我們參考:
對於ASSM有兩個重要選項,對於MSSM有四個重要選項:
Freelist:僅適用於MSSM,對於ASSM由於已經使用三級點陣圖的方式來管理segment,因此不適用於ASSM
PCTFREE: ASSM和MSSm都適用,表示為一個block中已存在的行在將來更新時預留出的一段空間.
PCTUSED: 僅適用於MSSM,當塊中的空閒程度>(1-PCTUSED)時候,這個block將會重新回到freelist上來.
INITRANS: ASSM和MSSM都適用,表示為block分配的初始slot數目.預設是2,每一個slot佔據的空間是23-24個位元組
這裡還需要強調的是,單獨儲存在LOB Segment中的資料是不使用PCTFREE/PCTUSED這些引數的.而是以另外一種方式來進行管理.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12361284/viewspace-230932/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- webpack 模組熱更新 Hot Module ReplacementWeb
- EXCEL破冰 - 如何為透視表組織資料Excel
- 座席組織
- Oracle 12.2 新特性: Online PDB relocate (PDB hot move)Oracle
- rust 模組組織結構Rust
- 組織css程式碼CSS
- 組織的紀律
- openGauss 堆表支援預讀
- 組織: 階級: 組織+管理+授權+組織結構設計+ 角色 + 分工: individual型別: 體力+普工+文職+型別
- Vuex 進階——模組化組織 VuexVue
- organizational alignment 組織調整
- 組織知識的方法
- 程式碼模型組織方式模型
- google chrome去除組織策略GoChrome
- 組織程式和資料
- AWD比賽組織指南
- 【MEMORY】Oracle 共享池堆簡單說明Oracle
- Oracle 12.2 新特性:線上PDB資料庫克隆(Pluggable Hot Clone)Oracle資料庫
- 程式的定義、組成、組織方式、特徵特徵
- 梳理公司的組織架構 — 組合模式架構模式
- Oracle分割槽表基礎運維-05組合分割槽Oracle運維
- 經合組織:2022年經合組織國家永久移民達610萬人
- 亞太經合組織:2024年亞太經合組織能源展望報告
- APT組織檔案館|2021年度APT組織活動態勢分析APT
- 世界智慧財產權組織:2020年產權組織事實與資料
- 世界智慧財產權組織:2021年產權組織事實與資料
- 亞太經合組織:2024年亞太經合組織地區趨勢
- Go包-程式碼組織者Go
- iOS 工程組織結構分享iOS
- Day 582:遊戲型組織遊戲
- 六種組織CSS的方式CSS
- 獲取組織機構樹
- 捐智慧愛心公益組織
- Linux 核心101:cache組織策略Linux
- APT組織跟蹤與溯源APT
- 解析HOT原理
- 如何在word中製作組織結構圖 用word做組織結構圖
- 亞太經合組織:2024年亞太經合組織地區趨勢分析
- Oracle建表Oracle