read committed 和 repeatable read 上鎖的區別
DML語句會針對等值條件上排它鎖,不能dml 鎖住的記錄, 針對範圍或無值dml都會上 next key鎖,不能再插入.
select 語句使用mvcc 都不上鎖.
針對範圍 select .... lock in shared mode, 前者上共享鎖,別的會話可以插入但不能更新; 後者上共享next key, 不能更新也不能插入。
針對範圍 select .... for update, 前者上共享鎖,別的會話可以插入但不能更新; 後者上共享next key, 不能更新也不能插入。(select ... for update 始終會對選出的記錄上共享鎖,這裡的描述只是針對不存在的記錄)
所以我們要做的是最佳化邏輯,大部分場景 read committed 就滿足條件呢了。
select 語句使用mvcc 都不上鎖.
針對範圍 select .... lock in shared mode, 前者上共享鎖,別的會話可以插入但不能更新; 後者上共享next key, 不能更新也不能插入。
針對範圍 select .... for update, 前者上共享鎖,別的會話可以插入但不能更新; 後者上共享next key, 不能更新也不能插入。(select ... for update 始終會對選出的記錄上共享鎖,這裡的描述只是針對不存在的記錄)
所以我們要做的是最佳化邏輯,大部分場景 read committed 就滿足條件呢了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/674865/viewspace-2135290/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- read repeatable&read committed 區別MIT
- MySQL的repeatable readMySql
- mysql(InnoDB)事務隔離級別(REPEATABLE READ) 與 鎖,MVCCMySqlMVC
- read name 和 read 在 Bash 中的區別
- Read Committed Isolation (327)MIT
- mysql中read commited與repeatable read兩種隔離級別的測試MySqlMIT
- 如何理解mysql 的事務隔離級別 repeatable readMySql
- 等待事件db file sequential read、db file scattered read和direct read的區別事件
- Read Committed Isolation (319)MIT
- Comparison of Read Committed and Serializable Isolation (321)MIT
- Oracle Isolation Levels : Read committed (315)OracleMIT
- SQL Server 2005的read committed snapshot隔離級別SQLServerMIT
- Django Mysql SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTEDDjangoMySqlSessionMIT
- pread,pwrite,read,write區別
- while read line 與for迴圈的區別While
- 【shell】while read line 與for迴圈的區別While
- SAP UI5裡Batch操作和Read操作的區別UIBAT
- 在SQL Server 2005資料庫中設定read committed snapshot隔離級別SQLServer資料庫MIT
- mysql snapshot read快照讀及current read當前讀與鎖lock之一MySql
- direct path read/read temp等待事件事件
- 【眼見為實】自己動手實踐理解資料庫READ COMMITTED && MVCC資料庫MITMVC
- 消除11.2上的db file parallel readParallel
- 原子鎖和普通鎖的區別
- oracle 表空間和表 read only遷移後不再read onlyOracle
- READ ME
- Java中Socket上的Read操作堵塞問題Java
- Python中read()、readline()和readlines()三者間的區別和用法Python
- buffer busy waits, latch cache buffers chains, read by other session區別AISession
- 【眼見為實】自己動手實踐理解資料庫REPEATABLE READ && Next-Key Lock資料庫
- Mysql中S 鎖和 X 鎖的區別MySql
- HDFS read and write
- Leetcode-Read N Characters Given Read4LeetCode
- 解決db file sequential read與db file scattered read
- 當從READ ONLY到READ WRITE都做什麼了
- db block get和consistent read getBloC
- MySQL資料庫事務各隔離級別加鎖情況--read uncommittMySql資料庫MIT
- Leetcode-Read N Characters Given Read4 IILeetCode
- 自旋鎖和互斥鎖區別 --- 經典