久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

mysql優化 - mysql innodb表鎖問題

瀏覽:126日期:2022-06-12 13:08:52

問題描述

經過測試之后,我發現以下情況都會導致表鎖 1.like 2.update,delete無條件的操作 3.update,delete有條件的操作但不是主鍵的操作select無論是有條件還是無條件,條件是不是主鍵或者索引,都不會鎖表,請問這是對的嗎?是不是我測試出現了問題?

問題解答

回答1:

select 可指定加各級鎖如共享鎖、排他鎖等,比如select ... FOR UPDATE。至于為什么需要鎖,舉個簡單例子,比如你有個單據繼承自上個單據,這時候你可以select加讀鎖,鎖定上個單據,來防止其他人在你提交前對上個單據進行修改,造成數據不一致。

回答2:

只要條件不包含主鍵,或者包含主鍵但不是等號或IN,都會鎖全表的,這就包括了問題中全部3種情況。

不管是鎖全表還是鎖幾行,select加讀鎖,update和delete加寫鎖,至于什么是讀鎖、寫鎖,可Google一下。至于細節,還可以看下事務隔離級別,這里就不展開了。

相關文章:
主站蜘蛛池模板: 乌鲁木齐市| 满城县| 乌兰浩特市| 邻水| 余江县| 札达县| 图片| 武强县| 绥芬河市| 西乌珠穆沁旗| 黄浦区| 广安市| 安宁市| 杂多县| 邢台市| 新干县| 江陵县| 黄大仙区| 颍上县| 崇礼县| 抚松县| 阿勒泰市| 清苑县| 罗平县| 容城县| 东兰县| 黄骅市| 文山县| 柞水县| 东山县| 乐陵市| 健康| 敦煌市| 鹿泉市| 秦安县| 山西省| 楚雄市| 霍山县| 绥芬河市| 凤庆县| 苍南县|