Availability and Compression of Free Space in a Data Block
對於data block中的free space的機制論述如下:
----------------------------------------------------------------
Two types of statements can increase the free space of one or more data blocks:
DELETE statements,
UPDATE statements that update existing values to smaller values.
The released space from these types of statements is available for subsequent INSERT statements under the following conditions:
(DELETE和UPDATE可以release我們data block中的free space,而這些release的free space可以被後繼的Insert statement使用)
1.If the INSERT statement is in the same transaction and subsequent to the statement that frees space, then the INSERT statement can use the space made available.
(如果後繼的Insert statement和delete以及update等語句處於同一個transactions,那麼insert statement就可以直接使用這些release的free space)
2.If the INSERT statement is in a separate transaction from the statement that frees space (perhaps being run by another user), then the INSERT statement can use the space made available only after the other transaction commits and only if the space is needed.
(如果後繼的Insert statement和delete以及update等語句處於不同的 transactions,那麼只有當這些release free space的transaction被commit,且釋放了free space空間後,後繼的insert statement才可以使用)
Released space may or may not be contiguous with the main area of free space in a data block. Oracle coalesces the free space of a data block only when
(1) an INSERT or UPDATE statement attempts to use a block that contains enough free space to contain a new row piece.
(2) the free space is fragmented so the row piece cannot be inserted in a contiguous section of the block. Oracle does this compression only in such situations, because otherwise the performance of a database system decreases due to the continuous compression of the free space in data blocks.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12361284/viewspace-119546/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Availability and Optimization of Free Space in a Data Block(五)AIBloC
- Unused Block Compression和Null Block CompressionBloCNull
- Encoder Data compression
- Export data from a data blockExportBloC
- Oracle ASM Free Space TableOracleASM
- DATA BLOCK內部結構BloC
- PostgreSQL FSM(Free Space Map) 原始碼解讀SQL原始碼
- Data Guard Broker High Availability (Doc ID 275977.1)AI
- Oracle Data block 的物理結構OracleBloC
- Oracle 的 data block研讀(二)OracleBloC
- oracle10g data block structureOracleBloCStruct
- DATA BLOCK內部結構圖BloC
- 【BBED】使用bbed解決 the amount of space used is not equal to block sizeBloC
- 關於Oracle dba_free_space 檢視的研究Oracle
- How to free space from an ASM diskgroup? (Doc ID 1553744.1)ASM
- Implementing Oracle9i Data Guard for Higher AvailabilityOracleAI
- oracle concept——data block,extent,segment-01OracleBloC
- Data exchange of settype COMM_PRFREEATTR
- MySQL的 data_free,表碎片整理MySql
- 1104File Space Bitmap Block損壞能修復嗎BloC
- Script:Translate RDBA relative data block addressBloC
- 模擬data block lost write的簡單方法BloC
- 原創:oracle data block 內部結構分析OracleBloC
- actual size LOB segments and free deleted/unused space above/below HWM-386341.1delete
- MongoDB報錯Insufficient free space for journal files的解決方法MongoDB
- dba_free_space查詢速度慢問題解決
- Oracle Database Compression 1 - Basic CompressionOracleDatabase
- MySQL:Innodb表 Data free 的計算概要MySql
- TEMPORARY LOBS are not freed up automatically after PL/SQL block executionSQLBloC
- XTTS全備開啟BCT後等待事件 block change tracking buffer spaceTTS事件BloC
- Script to Report Extents and Contiguous Free Space (Doc ID 162994.1)
- [轉載]ORA-01578: ORACLE data block corruptedOracleBloC
- Oracle Data block 的物理結構-體系架構OracleBloC架構
- 故障分析 | 從 data_free 異常說起
- block學習(pctfree&pctused),行遷移問題(zt)BloC
- 【YashanDB知識庫】YAS-00103 no free block in dictionary cacheBloC
- Oracle Database Compression 3 - Hybrid Columnar CompressionOracleDatabase
- Oracle Database Compression 2 - Advanced/OLTP CompressionOracleDatabase