99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

mysql鎖表的原因有哪些

這篇文章主要為大家展示了“MySQL鎖表的原因有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“mysql鎖表的原因有哪些”這篇文章吧。

創新互聯專業為企業提供靈丘網站建設、靈丘做網站、靈丘網站設計、靈丘網站制作等企業網站建設、網頁設計與制作、靈丘企業網站模板建站服務,10年靈丘做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。

在mysql中,鎖表的原因是一個程序執行了對表的insert、update或者delete操作還未commite時,另一個程序也對同一個表進行相同的操作,則此時會發生資源正忙的異常,也就是鎖表。

本教程操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。

mysql鎖表的原因有哪些

鎖是計算機協調多個進程或線程并發訪問某一資源的機制。

在數據庫中,除傳統的計算資源(如CPU、RAM、I/O等)的爭用以外,數據也是一種供許多用戶共享的資源。

如何保證數據并發訪問的一致性、有效性是所有數據庫必須解決的一個問題,鎖沖突也是影響數據庫并發訪問性能的一個重要因素。

從這個角度來說,鎖對數據庫而言顯得尤其重要,也更加復雜。

鎖表的原因

1、鎖表發生在insert update 、delete 中

2、鎖表的原理是 數據庫使用獨占式封鎖機制,當執行上面的語句時,對表進行鎖住,直到發生commite 或者 回滾 或者退出數據庫用戶

第一、 A程序執行了對 tableA 的 insert ,并還未 commite時,B程序也對tableA 進行insert 則此時會發生資源正忙的異常 就是鎖表

第二、鎖表常發生于并發而不是并行(并行時,一個線程操作數據庫時,另一個線程是不能操作數據庫的,cpu 和i/o 分配原則)

3、減少鎖表的概率:

減少insert 、update 、delete 語句執行 到 commite 之間的時間。

具體點批量執行改為單個執行、優化sql自身的非執行速度 如果異常對事物進行回滾

示例如下:

使用 update

假設kid 是表table 的 一個索引字段 且值不唯一:

1):如果kid 有多個值為12的記錄那么:

update table set name=’feie’ where kid=12;   #會鎖表

2):如果kid有唯一的值為1的記錄那么:

update table set name=’feie’ where kid=1;   #不會鎖

總結:用索引字段做為條件進行修改時, 是否表鎖的取決于這個索引字段能否確定記錄唯一,當索引值對應記錄不唯一,會進行鎖表,相反則行鎖。

使用 delete

如果有兩個delete : kid1 與 kid2 是索引字段

1):語句1 delete from table where kid1=1 and kid2=2;

2):語句2 delete from table where kid1=1 and kid2=3;

 # 這樣的兩個delete 是不會鎖表的

1):語句1 delete from table where kid1=1 and kid2=2;

2):語句2 delete from table where kid1=1 ;

 # 這樣的兩個delete 會鎖表

以上是“mysql鎖表的原因有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道!

網站欄目:mysql鎖表的原因有哪些
文章路徑:http://www.yijiale78.com/article44/jjjjhe.html

成都網站建設公司_創新互聯,為您提供虛擬主機Google響應式網站網站改版網站導航自適應網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站網頁設計