在少量資料進行測試乙個update和insert頻繁操作表的時候,執行良好。但是最近在實際運營中,資料量可能過大,導致很可能出現死鎖現象。[color=red]通過匯出process list看,可以看到多個update操作語句的狀態為locked。導致的後果就是系統執行變慢,使用者的update操作失效(可能都被locked),在這種情況下只有重新啟動伺服器後系統恢復正常[/color]。使用是mysql5.1版本的資料庫。
個人分析的思路如下:
[quote]
1. 分析locked操作的時候表,直接是與存在死鎖發生的可能原因。
2. 分析locked操作的表中的觸發器是否會引起死鎖發生的可能原因。
3. 根據locked操作的表的型別分析是否有存在死鎖發生的可能原因。
[/quote]
以上三點是現在個人真的出現的狀態和解決的思路。希望有這方面實際經驗的朋友指點下!大家都來談談吧!謝謝了
mysql資料庫鎖 MySQL資料庫的鎖機制
在併發訪問情況下,很有可能出現不可重複讀等等讀現象。為了更好的應對高併發,封鎖 時間戳 樂觀併發控制 樂觀鎖 悲觀併發控制 悲觀鎖 都是併發控制採用的主要技術方式。鎖分類 按操作劃分 dml鎖,ddl鎖 按鎖的粒度劃分 表級鎖 行級鎖 頁級鎖 按鎖級別劃分 共享鎖 排他鎖 按加鎖方式劃分 自動鎖 顯...
資料庫鎖問題(mysql)
實驗名稱 mysql鎖問題 一 實驗目的 了解mysql鎖機制,並通過簡單案例進行演示。二 實驗內容和步驟 1.mysql 鎖概述 mysql有三種鎖的級別 頁級 表級 行級。myisam和memory儲存引擎採用的是表級鎖 table level locking bdb儲存引擎採用的是頁面鎖 pa...
sql mode引發的資料庫問題
前幾天,在本地做完專案,測試完畢後,上傳到線上伺服器的時候,在做很多寫入資料庫的操作時,發現全部發生500報錯,返回的報錯資訊是,某個字段沒有預設值,寫入的時候沒有新增這個字段,該字段在資料表中是not null並且無預設值,導致插入失敗。查詢原因是從本地上傳伺服器專案時,伺服器資料庫由原來的5.6...