MySQL高级 - 锁 - MySQL对锁的支持
生活随笔
收集整理的這篇文章主要介紹了
MySQL高级 - 锁 - MySQL对锁的支持
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Mysql 鎖
相對其他數(shù)據(jù)庫而言,MySQL的鎖機(jī)制比較簡單,其最顯著的特點(diǎn)是不同的存儲(chǔ)引擎支持不同的鎖機(jī)制。下表中羅列出了各存儲(chǔ)引擎對鎖的支持情況:
| MyISAM | 支持 | 不支持 | 不支持 |
| InnoDB | 支持 | 支持 | 不支持 |
| MEMORY | 支持 | 不支持 | 不支持 |
| BDB | 支持 | 不支持 | 支持 |
MySQL這3種鎖的特性可大致歸納如下 :
| 表級鎖 | 偏向MyISAM 存儲(chǔ)引擎,開銷小,加鎖快;不會(huì)出現(xiàn)死鎖;鎖定粒度大,發(fā)生鎖沖突的概率最高,并發(fā)度最低。 |
| 行級鎖 | 偏向InnoDB 存儲(chǔ)引擎,開銷大,加鎖慢;會(huì)出現(xiàn)死鎖;鎖定粒度最小,發(fā)生鎖沖突的概率最低,并發(fā)度也最高。 |
| 頁面鎖 | 開銷和加鎖時(shí)間界于表鎖和行鎖之間;會(huì)出現(xiàn)死鎖;鎖定粒度界于表鎖和行鎖之間,并發(fā)度一般。 |
從上述特點(diǎn)可見,很難籠統(tǒng)地說哪種鎖更好,只能就具體應(yīng)用的特點(diǎn)來說哪種鎖更合適!僅從鎖的角度來說:表級鎖更適合于以查詢?yōu)橹?#xff0c;只有少量按索引條件更新數(shù)據(jù)的應(yīng)用,如Web 應(yīng)用;而行級鎖則更適合于有大量按索引條件并發(fā)更新少量不同數(shù)據(jù),同時(shí)又有并查詢的應(yīng)用,如一些在線事務(wù)處理(OLTP)系統(tǒng)。
總結(jié)
以上是生活随笔為你收集整理的MySQL高级 - 锁 - MySQL对锁的支持的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL高级 - 锁 - 锁的概述及分
- 下一篇: MySQL高级 - 锁 - MyISAM