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