MySQL面試題之死鎖


什么是死鎖?鎖等待?如何優化這類問題?通過數據庫哪些表可以監控?

死鎖是指兩個或多個事務在同一資源上互相占用,並請求加鎖時,而導致的惡性循環現象。當多個事務以不同順序試圖加鎖同一資源時,就會產生死鎖。

鎖等待:mysql數據庫中,不同session在更新同行數據中,會出現鎖等待

重要的三張鎖的監控表innodb_trx,innodb_locks,innodb_lock_waits

 如何優化鎖:

1、盡可能讓所有的數據檢索都通過索引來完成,從而避免Innodb因為無法通過索引鍵加鎖而升級為表級鎖定

2、合理設計索引。不經常使用的列最好不加鎖

3、盡可能減少基於范圍的數據檢索過濾條件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM