mysql的行鎖具體是怎么工作的

mysql行級鎖是怎么工作的?
加鎖的對象是索引,加鎖的基本單位是 next-key lock。在能使用記錄鎖或者間隙鎖就能避免幻讀現象的場景下, next-key lock 就會退化成記錄鎖或間隙鎖。
鎖的范圍,總結一下就是,對于唯一索引,鎖只有對應的記錄或者所在范圍即可;非唯一索引則要看看可能加上一個范圍,因為即使找到了索引也是非唯一的。
這個比較復雜,請移步這篇博客以及這篇博客

假設鎖定讀查詢用到索引,就會鎖住二級索引對應位置和查詢到的記錄的主鍵索引(沒查到就不用鎖主鍵索引)。如果鎖定讀查詢語句,沒有使用索引列作為查詢條件,或者查詢語句沒有走索引查詢,導致掃描是全表掃描。那么,每一條記錄的索引上都會加 next-key 鎖,這樣就相當于鎖住的全表,這時如果其他事務對該表進行增、刪、改操作的時候,都會被阻塞。

不只是鎖定讀查詢語句不加索引才會導致這種情況,update 和 delete 語句如果查詢條件不加索引,那么由于掃描的方式是全表掃描,于是就會對每一條記錄的索引上都會加 next-key 鎖,這樣就相當于鎖住的全表。

因此,在線上在執行 update、delete、select … for update 等具有加鎖性質的語句,一定要檢查語句是否走了索引,如果是全表掃描的話,會對每一個索引加 next-key 鎖,相當于把整個表鎖住了,這是挺嚴重的問題。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/213632.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/213632.shtml
英文地址,請注明出處:http://en.pswp.cn/news/213632.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

張馳咨詢:掌握流程改進的關鍵,深入了解六西格瑪綠帶培訓

尊敬的讀者,當您尋求提升個人能力,加強企業流程管理時,六西格瑪綠帶培訓無疑是您的不二選擇。本文將帶您深入了解六西格瑪綠帶培訓的核心內容、必備工具和實際案例,以助您在職業生涯中一帆風順。 六西格瑪綠帶培訓主要針對中層管…

C++- 格式化輸出

1.常規–格式化輸出 %d //整型輸出 %ld //長整型輸出 %o //以八進制數形式輸出整數 %x //以十六進制數形式輸出整數,或輸出字符串的地址 %u //以十進制數輸出unsigned型數據(無符號數)注意&…

element 點擊button彈出圖片 運用自帶隱藏的圖片查看器el-image-viewer瀏覽圖片

最近在開發一個圖片預覽效果,由于位置有限,沒有原始的縮略圖。 看了下elementUI的文檔,基本都是需要有縮略圖的情況下,才能有放大的圖。 所以網上找了下有個不錯的方案,其實也是elementUI自帶的功能,只是AP…

論文查重怎么找到需要更改的【詳細說明】

大家好,今天來聊聊論文查重怎么找到需要更改的,希望能給大家提供一點參考。 以下是針對論文重復率高的情況,提供一些修改建議和技巧: 論文查重怎么找到需要更改的 論文查重是保證學術誠信和提高論文質量的重要環節小發貓偽原創。…

班級管理的重要性

班級管理,就像是一座橋,連接著學生和老師,它的重要性不言而喻。 營造良好的學習氛圍 班級管理不僅僅是維護秩序,更是營造一個積極向上的學習氛圍。一個好的班級管理,能讓學生更加專注于學習,提高學習效率。…

Linux上的MAC地址欺騙

Linux上的MAC地址欺騙 1、查看mac地址法1:ifconfig法2:ip link show 2、臨時性改變 MAC 地址法1:使用iproute2工具包法2:使用macchanger工具 3、永久性改變 MAC 地址3.1 在 Fedora、RHEL下實踐3.2 在 Debian、Ubuntu、Linux Mint下…

人工智能革命近在咫尺:利用數據實現社會影響、增強決策力和新機遇

人工智能(AI)是指由計算機系統或機器執行的智能行為,如學習、推理和解決問題。人工智能不再是科幻小說中的事物,而是已經成為我們日常生活中不可或缺的一部分。從語音助手到自動駕駛汽車,從人臉識別到機器翻譯&#xf…

數據結構之----原碼、反碼、補碼

數據結構之----原碼、反碼、補碼 什么是原碼? 原碼:我們將數字的二進制表示的最高位視為符號位,其中 0 表示正數,1 表示負數,其余位表示數字 的值。 什么是反碼? 反碼:正數的反碼與其原碼相…

網絡攻擊(二)--情報搜集階段

4.1. 概述 在情報收集階段,你需要采用各種可能的方法來收集將要攻擊的客戶組織的所有信息,包括使用社交網絡、Google Hacking技術、目標系統踩點等等。 而作為滲透測試者,你最為重要的一項技能就是對目標系統的探查能力,包括獲知…

文生圖:AE/VAE/VQVAE/VQGAN/DALLE模型

文生圖模型演進:AE、VAE、VQ-VAE、VQ-GAN、DALL-E 等 8 模型本文中我們回顧了 AE、VAE、VQ-VAE、VQ-VAE-2 以及 VQ-GAN、DALL-E、DALL-E mini 和 CLIP-VQ-GAN 等 8 中模型,以介紹文生圖模型的演進。https://mp.weixin.qq.com/s/iFrCEpAJ3WMhB-01lZ_qIA 1…

pta模擬題(7-38 完全二叉樹的層序遍歷)

一個二叉樹,如果每一個層的結點數都達到最大值,則這個二叉樹就是完美二叉樹。對于深度為 D 的,有 N 個結點的二叉樹,若其結點對應于相同深度完美二叉樹的層序遍歷的前 N 個結點,這樣的樹就是完全二叉樹。 給定一棵完全…

GaussDB數據庫語法及gsql入門

一、GaussDB數據庫語法入門 之前我們講了如何連接數據庫實例,那連接數據庫后如何使用數據庫呢?那么我們今天就帶大家了解一下GaussDB,以下簡稱GaussDB的基本語法。 關于如何連接數據庫,請戳這里。 學習本節課程之后&#xff0c…

【開題報告】基于SpringBoot的消防知識科普平臺的設計與實現

1.選題背景 消防知識科普平臺的設計與實現是為了提高公眾對于消防安全的認知和應對能力,促進社會消防文化的普及和發展。在中國,火災事故時有發生,造成了重大人員傷亡和財產損失。因此,建立一個基于Spring Boot的消防知識科普平臺…

docker---網絡

docker的網絡模式: 1、橋接模式:創建docker時不需要指定網絡類型,默認模式。 2、host模式: 容器將不會虛擬出自己的網卡,也沒有自己的ip地址,全部使用宿主機的ip和端口。 3、container模式:容器和容器之間…

第五屆計算機能力挑戰賽國賽C語言組題解(專科組)

前言: ??前兩天計算機能力挑戰賽國賽結束了,拿著題做了一遍,發現難度真的不大,比省賽簡單多了,只是有時候可能有的同學拿著題,沒認真仔細去讀,或者說緊張了導致自己發揮不好吧。以下是個人的題…

【運維】將Linux的硬盤當內存用,Linux內存不夠用的時候如何用硬盤提升內存

文章目錄 內存不夠用,可以用硬盤當內存嗎如何取消這種交換空間交換空間是優先使用的還是說原始內存是會被優先使用的 內存不夠用,可以用硬盤當內存嗎 是的,可以使用硬盤作為虛擬內存來擴展容器中的內存。這個過程被稱為“交換”或“交換空間…

Django 模型操作-分頁(七)

一、連接MySql數據庫 1、先安裝MySQL 2、再安裝MySQL驅動 使用mysqlclient pip install mysqlclient 如果上面的命令安裝失敗, 則嘗試使用國內豆瓣源安裝: pip install -i https://pypi.douban.com/simple mysqlclient 二、在settings.py中配置 三、 book表的數據…

Android系統啟動過程-uBoot+Kernel+Android

摘要:本文是參考大量網上資源在結合自己查看源代碼總結出來的,讓自己同時也讓大家加深對Android系統啟動過程有一個更加深入的了解!再次強調,本文的大多數功勞應歸功于那些原創者們,同時一些必要的參考鏈接我會一一附上…

1009 說反話

給定一句英語,要求你編寫程序,將句中所有單詞的順序顛倒輸出。 輸入格式: 測試輸入包含一個測試用例,在一行內給出總長度不超過 80 的字符串。字符串由若干單詞和若干空格組成,其中單詞是由英文字母(大小…

【機器學習實訓項目】黑色星期五畫像分析

目錄 前言 一、項目概述 1.1 項目簡介 1.2 項目背景 1.3 項目目標 二、數據分析 2.1 導入庫 2.2 數據基本信息 三、畫像分析 3.1 畫像1:消費金額Top10 3.2 畫像2:高頻消費Top10 3.3 畫像3:人均消費金額Top10 3.4 畫像4:男女消費對…