欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

查詢mysql線程數,MySQL死鎖套路之唯一索引下批量插入順序不一致

林玟書2年前26瀏覽0評論
查詢mysql線程數,MySQL死鎖套路之唯一索引下批量插入順序不一致?

這個代碼,只要條件滿足,肯定會死鎖。 如果有2個線程同時做批量更新, 第一個線程更新了id=1的數據, 第二個線程更新了id=2的數據。 這個時候,第一個線程準備更新id=2的數據,但線程2所持連接未提交,無法取得數據庫中該id=2的行鎖。 同時第二個線程準備更新id=1的數據,也因為無法取得id=1的行鎖,就造成了死鎖。 解決辦法的就是:如果更新條件的,比如說是主鍵,則根據主鍵排序之后批量做更新。 如果更新條件不是主鍵,可以那么單線程處理。 也可以通過單條語句執行來避免死鎖。 不過,不使用批量性能太低了,你還是需要結合你的業務來調整代碼避免死鎖