consistent mode和current mode的區別
consistent mode 是在基於 query mode 下的,oracle有一個一致讀的概念
也就是說,當查詢開始的時候oracle將確立一個時間點,凡是在這個時間點以前提交的資料oracle將能看見,之後提交的資料將不能看見。但查詢的時候可能遇上這樣的情況,該塊中資料已經被修改了,沒有提交,或者提交的時間點比查詢開始的時間晚,則oracle為了保證讀的一致性,需要去回滾段獲取該塊中變化前的資料。這叫 consistent reads 。
current mode 的意思就是,當看到當前的block中的內容的時候,是什麼就是什麼,跟時間點無關,不用去回滾段獲取之前的資料。什麼時候會是這樣的模式? 除了9i以前版本的fts對資料字典的獲取是current mode外(這是因為關於資料字典的獲取必須是當前看見的狀態),主要就是發生在DML 的時候,當發生DML的時候,session所看見的必須是當前的block的狀態,不能去回滾段獲取資料。假如當前block中資料是被其他的session更改過還沒有提交,那麼則看到當前狀態資料被其他session 鎖定,出現等待。(而查詢去回滾段獲取資料則讀和更新之間不會出現鎖的情況)
也就是說,當查詢開始的時候oracle將確立一個時間點,凡是在這個時間點以前提交的資料oracle將能看見,之後提交的資料將不能看見。但查詢的時候可能遇上這樣的情況,該塊中資料已經被修改了,沒有提交,或者提交的時間點比查詢開始的時間晚,則oracle為了保證讀的一致性,需要去回滾段獲取該塊中變化前的資料。這叫 consistent reads 。
current mode 的意思就是,當看到當前的block中的內容的時候,是什麼就是什麼,跟時間點無關,不用去回滾段獲取之前的資料。什麼時候會是這樣的模式? 除了9i以前版本的fts對資料字典的獲取是current mode外(這是因為關於資料字典的獲取必須是當前看見的狀態),主要就是發生在DML 的時候,當發生DML的時候,session所看見的必須是當前的block的狀態,不能去回滾段獲取資料。假如當前block中資料是被其他的session更改過還沒有提交,那麼則看到當前狀態資料被其他session 鎖定,出現等待。(而查詢去回滾段獲取資料則讀和更新之間不會出現鎖的情況)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25583515/viewspace-709187/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Vue的mode中 hash 與 history 的區別Vue
- Go 1.18:工作區模式workspace modeGo模式
- MySQL案例01:Last_SQL_Errno: 1755 Cannot execute the current event group in the parallel modeMySqlASTParallel
- IDBTransaction.mode
- Docker Swarm modeDockerSwarm
- javascript strict modeJavaScript
- emacs go-modeMacGo
- 【Java】The Java Headless ModeJava
- MySQL Strict SQL MODEMySql
- UFS之Power Mode
- chmod命令(change mode)
- ORACLE LOCK MODE 1.2.3.4.5.6Oracle
- Bash 設定 vi mode
- webcodecs mix-blend-modeWeb
- LPDDR4 byte mode
- 3.3.4 Shutting Down with the Transactional Mode
- Docker Swarm Mode簡介DockerSwarm
- 深入理解SELECT ... LOCK IN SHARE MODE和SELECT ... FOR UPDATE
- Android Media Framework(五)Tunnel ModeAndroidFramework
- MySQL的sql_mode合理設定MySql
- 迷之自信的Single_User Mode
- 模擬mode=4 and name='TX'的enqueueENQ
- MySQL 的 sql_mode 合理設定MySql
- [譯] Story 中 Type Mode 在 iOS 和 Android 上的實現iOSAndroid
- Unity Texture Setting 中 Filter Mode的影響UnityFilter
- MySQL的sql_mode解析與設定MySql
- Shader 中的顏色混合模式(Blend Mode)模式
- webpack4 Mode的預設設定Web
- 3.2.3 Opening a Database in Read-Only ModeDatabase
- How to debug release mode program in visual studio
- 501-Find Mode in Binary Search Tree
- CSS3 animation-fill-modeCSSS3
- maven “Generating project in Batch mode“問題的解決MavenProjectBAT
- P9640 [SNCPC2019] Digit ModeGit
- 什麼是 Angular Ivy Partial compilation modeAngular
- mysql sql_mode ONLY_FULL_GROUP_BYMySql
- Install VMware Tools in CentOS 7 command line modeCentOS
- MIPI-DSI 三種 Video Mode 理解IDE
- ORA-01102: cannot mount database in EXCLUSIVE modeDatabase