concept方案物件-01
方案定義:
方案是一個邏輯資料結構集合,每個user都有一個同名的方案,方案物件就是方案下的物件,例如user使用者的user方案的下的table,view等物件。
方案schema和user區別
不過有點區別的是建立一個user後,當前user下沒有物件,此時並不存在此user的方案schema,方案誕生與user下的第一個物件的建立。
行的格式容量:
資料行片斷:
Oracle使用一個或多個行片斷儲存每一行資料。當一個資料塊可以容納一個資料行時(且表的列數小於256)此資料行就只用了一個資料行片斷。
當一個資料塊無法容納一條資料行時,oracle將使用多個行片斷儲存這一條資料行。
(大多數情況下,一條資料行一般只需要一條資料行片斷,儲存在一個資料塊內。)
行連結:
當需要多個行片斷儲存資料行,且資料行的行片斷位於不同的資料塊內,也就發生所謂的行連結。(多個片斷,且儲存在不同資料塊)
提到了行連結就有行遷移:oracle concept中data block extent segment中就提到了。
行連結是塊內資料更新而無法存放在一個資料塊內,此時就在原資料塊內儲存一個資料塊的指標,而原資料行的rowid不會改變。
行遷移是插入新的資料到資料塊時,資料塊無法容納,就此資料行儲存在段內的一個資料鏈chain中。
塊內連結:
當一個表超過255列時,第255列之後的資料將作為一個新的行片斷儲存在同一資料塊內,稱為塊內連結。多個行片斷進行塊內連結,使用行片斷的rowid進行連結(前面的blog中提到了rowid由18位構成,前6位是資料物件編號對應於dba_objects中的data_object_id,中間3位是檔案編號,然後接下來的6位是資料塊編號,最後3位是行編號。)
(多個片斷,但儲存在同一資料塊)
塊內行遷移的I/O:
塊內行遷移和行遷移不同,前者對I/O沒有帶來額外的開銷,後者由於訪問了更多的資料塊,對I/O會帶來額外的開銷
行片斷結構:
行片斷包含一個行頭,資料行的部分或全部資料列長和列值。(行內某一列的資料也有可能跨越多個行片斷,甚至多個資料塊,concept提到的這點現在還沒有很好的說明)
行頭位於資料行之前,包含:行管理開銷,行片斷rowid(如果有連結) 列數 簇鍵(簇表),行頭資訊之後是各列的列長和列值。
資料行中的列值為null的儲存:
為了節約儲存空間,如果某列為null,oracle只儲存其列長為0,列值不予儲存,如果一行末尾的列是null,則列長也不予以儲存。
(根據block的結構,block開銷部分由塊頭(塊的型別)表目錄和行目錄,每行還要佔用資料塊頭中行目錄區的2位元組空間)
列順序:
表內的所有資料行的列順序都是一致的,列的順序儲存通常和create table語句中定義順序一致,不過如果表含有資料型別為long的列,此列儲存在行的末尾。Alter add的列也儲存在行的末尾。(關於concepts中的long列會預設儲存在行的末尾還需要測試,是否要dump資料塊來測試,不過要透過資料塊可以看見的資訊還要進一步加深學習)
一般應該將null機率較大的列放在最後,節省空間。(建立包含資料型別long列時,上述方法無法節約空間)
表壓縮
Oracle的表壓縮compress壓縮data blcok內的重複值,壓縮的資料塊內同時也儲存瞭解壓縮的資訊(避免解壓縮帶來額外的I/O開銷)。壓縮的表的資料塊內重複值被儲存在塊頭的符號表內symbol table,而在該重複值實際發生位置儲存指向symbol table對應位置的指標,可以節約空間。
可以被壓縮的物件表和物化檢視(物化檢視也是一種表),而分割槽表可以執行壓縮分割槽和全部分割槽。同樣tablespace也有compress選項,如果表空間級別做了壓縮設定,那麼此表空間內的所有物件都是壓縮模式.
Alter table tablename compress
Create table a compress as select * from dba_objects
Create materialized view viewname compress
As select
Alter materialized view viewname compresss
資料壓縮使用與各種資料型別,但對於lob及基於log資料無效,表壓縮的工作主要在批次載入bulk load到資料庫時進行。表壓縮帶來的開銷此時最為顯著(這裡的批次載入和表壓縮是如何實現的)
常規的insert語句並不會壓縮資料,而更新update相對非壓縮錶慢些。所以壓縮表這些特性經常用到dw,那些不需要經常修改的資料。
以上文件摘自oracle conpects和自己的部分思考集結。
。
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25362835/viewspace-1055956/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle concept——data block,extent,segment-01OracleBloC
- 2 Day DBA-管理方案物件-命名方案物件物件
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-管理其它方案物件物件
- database conceptDatabase
- Oracle 19c Concepts(01):Introduction to Oracle DatabaseOracleDatabase
- 2 Day DBA-管理方案物件-關於方案物件管理許可權物件
- Probability Concepts
- javascript fundamental conceptJavaScript
- oracle fragment conceptOracleFragment
- BAPI BASICA CONCEPTAPI
- Oracle 19c Concepts(19):Concepts for Database DevelopersOracleDatabaseDeveloper
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-管理表物件
- ASM key conceptsASM
- Oracle Temp Table ConceptOracle
- Oracle 19c Concepts(18):Concepts for Database AdministratorsOracleDatabase
- Oracle 19c Concepts(00):Changes in This Release for Oracle Database ConceptsOracleDatabase
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-刪除表物件
- 2 Day DBA-管理方案物件物件
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-升序和降序索引物件索引
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-NOT NULL列約束物件Null
- phpMyAdminRemoteCodeExecutionProofofConceptPHPREM
- Oracle Concepts - pfile and spfileOracle
- 資料庫CONCEPT (二)資料庫
- 【ORACLE CONCEPT】控制檔案Oracle
- NEW CONCEPT ENGLISH 51 - 60
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-管理索引-索引和效能物件索引
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-管理索引-關於索引物件索引
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-練習:檢視錶物件
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-關於表列屬性物件
- OSS物件儲存的全球加速方案物件
- Samza文件翻譯 : Concepts
- The Extend Concept css-tricks.comCSS
- Database System Concepts(Fourth Edition)Database
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-管理檢視-關於檢視物件
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-管理索引-列和函式索引物件索引函式
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-練習:檢視錶中資料物件
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-其它的建表考慮因素物件
- 2 Day DBA-管理方案物件-關於方案物件管理許可權-預設值、加密、表約束物件加密