好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > MySQL對于各種鎖的概念理解

MySQL對于各種鎖的概念理解

熱門標簽:寶應電信400電話辦理費用 高德地圖標注模式 高德地圖標注中心個人注冊 外呼系統防封號違法嗎 湘潭電銷機器人咨詢電話 電銷機器人針對的 如何在高德地圖標注新地址 外呼系統服務 400電話辦理都選易號網

樂觀鎖

樂觀鎖大多是基于數據版本記錄機制實現,一般是給數據庫表增加一個"version"字段。讀取數據時,將此版本號一同讀出,之后更新時,對此版本號加一。此時將提交數據的版本數據與數據庫表對應記錄的當前版本信息進行比對,如果提交的數據版本號大于數據庫表當前版本號,則予以更新,否則認為是過期數據。

比如下單操作:

查詢出商品信息。

select (quantity, version)
from t_goods
where id = #{id}

根據商品信息生成訂單。

將商品數量減1。

update t_goods
set quantity = quantity - 1
where id = #{id} and version = #{version}

悲觀鎖

悲觀鎖依靠數據庫提供的鎖機制實現。MySQL中的共享鎖和排它鎖都是悲觀鎖。數據庫的增刪改操作默認都會加排他鎖,而查詢不會加任何鎖。

共享鎖(讀鎖)

共享鎖指的就是對于多個不同的事務,對于一個資源共享同一個鎖。對某一資源加共享鎖,自身可可讀該資源,其他人也可以讀該資源(也可以再加共享鎖,即共享鎖共享多個內存),但無法修改。要想修改就必須等所有共享鎖都釋放完之后。語法:select * from table lock in share mode;

比如:

窗口1,在一個未結束的事務中給一條數據加上共享鎖。

BEGIN;
SELECT * FROM t_red_packet WHERE id = 1 LOCK IN SHARE MODE;

窗口2,給同一條數據加上共享鎖,加鎖成功。

SELECT * FROM t_red_packet WHERE id = 1 LOCK IN SHARE MODE;

窗口1和窗口2,更新該行數據,提示[Err] 1205 - Lock wait timeout exceeded; try restarting transaction。需要等到所有共享鎖釋放,才可以進行update操作。

UPDATE t_red_packet
SET user_id = 2

排它鎖(寫鎖)

排它鎖指的就是對于多個不同的事務,對同一個資源只能有一把鎖。對某一資源加排它鎖,自身可以進行增刪改查,其他人無法進行加鎖操作,更無法進行增刪改操作。語法:select * from table for update

窗口1,在一個未結束的事務中給一條數據加上排它鎖。

BEGIN;
SELECT * FROM t_red_packet WHERE id = 1 FOR UPDATE;

窗口1,更新該行數據,成功。

UPDATE t_red_packet
SET user_id = 2

窗口2,查詢該行數據,可以查詢到。

SELECT * FROM t_red_packet WHERE id = 1

窗口2給該條數據加鎖,提示[Err] 1205 - Lock wait timeout exceeded; try restarting transaction

SELECT * FROM t_red_packet WHERE id = 1 FOR UPDATE;

綜上,共享鎖就是大家一起來讀,一起來共享鎖,但誰都不要對鎖著的數據進行修改,排它鎖就是我自己就是想來修改,你們可以讀,但你們都不能到鎖,也不能對數據進行修改。

行鎖

行鎖就是給一行數據進行加鎖。

表鎖

表鎖就是對一張表進行加鎖。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

您可能感興趣的文章:
  • Mysql查詢正在執行的事務以及等待鎖的操作方式
  • 基于更新SQL語句理解MySQL鎖定詳解
  • PHP利用Mysql鎖解決高并發的方法
  • PHP+MySQL高并發加鎖事務處理問題解決方法
  • MySQL鎖機制與用法分析
  • MySQL如何查看元數據鎖阻塞在哪里
  • MySQL語句加鎖的實現分析
  • Mysql使用kill命令解決死鎖問題(殺死某條正在執行的sql語句)
  • MYSQL 解鎖與鎖表介紹
  • 一次Mysql死鎖排查過程的全紀錄

標簽:佛山 黔南 賀州 宿遷 黃山 馬鞍山 南充 蘭州

巨人網絡通訊聲明:本文標題《MySQL對于各種鎖的概念理解》,本文關鍵詞  MySQL,對于,各種,鎖,的,概念,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL對于各種鎖的概念理解》相關的同類信息!
  • 本頁收集關于MySQL對于各種鎖的概念理解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 尤物视频在线播放| 午夜情2在线观看| 精品成人无码亚洲AV无码浮生| 欧美激情视频一区二区三区在线播放 | HeYzo_1234下载| 久久国产精品久久久久久| 国产亚洲一路线二路线高质量| 胖女人下边紧不紧| 性做久久久久久免费观看欧美| 四川BBB妓女免费A片| 曰本又色又爽又黄三级视频| 18pao国产成视频永久免费| 国产美女无遮挡软件| 欧美性做爰大片免费看办公室| 日产高清精品久久久久久久| 国产香蕉尹人视频在线香蕉视| 边做边尿好爽~H双男主| 宝贝水好多好紧h| 国产精品探花一区二区2022| 武则天撅着屁股水多| 体内灌尿play尿便器| 美女在线国产| 援助配对全集在线观看| 亲吻摸下面吻胸刺激视频| 女性隐私免费观看视频| 噜噜噜噜噜色| 欧美色欧美亚洲高清在线观看| 免费视频无遮挡在线观看| 中文字幕av一区二区三区谷原| 曰本一级黄色片| 嫂子是我的女人| 香蕉樱桃水蜜桃猕猴桃菠萝视频| 一级黄色生活片| 激情床戏摸胸| 国产一级毛片午夜| 免费被?黄网站无打码真人漫画| 黄色片视频免费看| 亚洲天堂在线视频观看| 《私人教练》韩国电影免费观看| 成人精品人成网站| 无人区在线观看高清完整版|