怎么樣避免mysql死鎖

避免mysql死鎖的方法:1、以固定的順序訪問表和行;2、大事務更傾向于死鎖,如果業務允許,將大事務拆小;3、在同一個事務中,盡可能做到一次鎖定所需要的所有資源,減少死鎖概率;4、降低隔離級別;5、為表添加合理的索引。

怎么樣避免mysql死鎖

如何盡可能避免死鎖:

1、以固定的順序訪問表和行。比如兩個更新數據的事務,事務A 更新數據的順序 為1,2;事務B更新數據的順序為2,1。這樣更可能會造成死鎖。

2、大事務拆小。大事務更傾向于死鎖,如果業務允許,將大事務拆小。

3、在同一個事務中,盡可能做到一次鎖定所需要的所有資源,減少死鎖概率。

4、降低隔離級別。如果業務允許,將隔離級別調低也是較好的選擇,比如將隔離級別從RR調整為RC,可以避免掉很多因為gap鎖造成的死鎖。

5、為表添加合理的索引。可以看到如果不走索引將會為表的每一行記錄添加上鎖,死鎖的概率大大增大。

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享