1.使用一般使用innodb引擎進行事務回滾
2.如果需要修改表的結構,可以在**量少的情況下進行操作,因為dml(增刪改查)操作都會產生元資料鎖,會卡死。
3.解決死鎖:
在命令列輸入show engine innodb statusg
可以顯示最近死鎖的資訊,然後加以解決
其次可以設定鎖等待時間,這個引數innodb_lock_wait_timeout
增加鎖等待時間,即增大下面配置項引數值,單位為秒(s)引數:innodb_lock_wai_timeout來控制等待時間。 動態引數
引數:innodb_rollback_on_timeout是否在等待超時時執行回滾操作,預設為off代表不回滾。靜態引數。最後啟用wait-for-graph演算法,讓被動變成主動
mysql 高併發 死鎖 談談MySQL死鎖 一
資料越來越和我們的生活離不開,資料在生命週期的各個階段有著不同的痛點和需求以及特殊場景。curd是資料的四大基本需求 寫入,更新,讀取,刪除.今天,來談一談死鎖問題 死鎖是高併發下mysql不可迴避的乙個問題。這句話可以引申四個問題 1.什麼是死鎖?2.mysql什麼時候會檢測死鎖?3.資料庫系統如...
MySQL死鎖與優化
這段時間處理了兩個比較有意思的mysql問題,乙個死鎖的,乙個優化的,陡然發現其實自己對mysql的理解還不深入,很多執行機制也是知其然但不知其所以然,後續還需要好好惡補一下底層知識。假設有如下表結構 mysql show create table tt g 1.row table tt creat...
MySQL 高併發優化
保證在實現功能的基礎上,儘量減少對資料庫的訪問次數 可以用快取儲存查詢結果,減少查詢次數 通過搜尋引數,儘量減少對錶的訪問行數,最小化結果集,從而減輕網路負擔 能夠分開的操作盡量分開處理,提高每次的響應速度 在資料視窗使用 sql 時,盡量把使用的索引放在選擇的首列 演算法的結構盡量簡單 在查詢時,...