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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Unused Block Compression和Null Block CompressionBloCNull
- 聊聊dba_temp_free_space的allocated_space和free_space
- Encoder Data compression
- 關於Oracle dba_free_space 檢視的研究Oracle
- ORA-15041 IN A DISKGROUP ALTHOUGH FREE_MB REPORTS SUFFICIENT SPACE
- 【YashanDB知識庫】YAS-00103 no free block in dictionary cacheBloC
- MySQL:Innodb表 Data free 的計算概要MySql
- 故障分析 | 從 data_free 異常說起
- XTTS全備開啟BCT後等待事件 block change tracking buffer spaceTTS事件BloC
- Zabbix報告無交換記憶體主機“Lack of free swap space”問題解決記憶體
- Overview of Availability in a CDBViewAI
- Performance and High-Availability OptionsORMAI
- High Availability (HA) in SQL ServerAISQLServer
- BlockBloC
- Hilbert Space
- Block學習①--block的本質BloC
- expdp+compression效能測試
- Enhanced Invertible Encoding for Learned Image CompressionEncoding
- LZ4 compression algorithm on FPGAGoFPGA
- [LeetCode] 3163. String Compression IIILeetCode
- codeforces1450D. Rating Compression
- free命令
- Availability Group On Linux 搭建後記AILinux
- __block使用BloC
- MODEL COMPRESSION VIA DISTILLATION AND QUANTIZATION翻譯
- Block學習②--block的變數捕獲BloC變數
- iOS block巢狀block中weakify的使用iOSBloC巢狀
- SQL Server Availability Group Failover 測試SQLServerAI
- HDFS High Availability(HA)高可用配置AI
- show_space(轉)
- CSS white-spaceCSS
- D. Explorer Space
- iOS Block探究iOSBloC
- linux CentOS出現Error: xz compression not availableLinuxCentOSErrorAI
- Block學習⑤--block對物件變數的捕獲BloC物件變數
- Linux 上配置 SQL Server Always On Availability GroupLinuxSQLServerAI
- 區域(Region)和可用區(Availability Zone)AI
- Oracle Free Buffer WaitsOracleAI
- [LeetCode] Employee Free TimeLeetCode