成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL這種用法千萬要小心,一不注意就鎖表

數據庫 MySQL
今天有個小伙伴問我Mysql什么時候需要使用悲觀鎖,也就是在執行語句的時候帶上For Update。教科書告訴我們,在一些對數據要求嚴格的,并且有著并發問題的場景。那么,是什么樣的場景呢?

 今天有個小伙伴問我Mysql什么時候需要使用悲觀鎖,也就是在執行語句的時候帶上For Update。教科書告訴我們,在一些對數據要求嚴格的,并且有著并發問題的場景。那么,是什么樣的場景呢?

 

[[325023]]

 

我舉一個例子,我們在網上買票,從鎖定座位到出票其實是一個比較“漫長”的過程,那么就存在這樣一個業務場景,可能在我們鎖定座位的時候,另外一個事務把這場電影停售了。那么,接下來的事務執行,就可能會出現一些異常。

因為我們在執行購票的時候,雖然也需要查詢電影的在售狀態,但由于我們只是查詢電影的在售狀態,所以只能取到該行數據的一個讀鎖,除非事務級別為串行化,不然別的事務仍然可以對該行數據進行修改。所以,即便我們只是一個讀操作,我們仍然希望對該行數據加上一個鎖,讓別的事務只能讀取,而無法修改該行數據,這就是數據庫的悲觀鎖。

我們可以使用Select * for update 這樣的姿勢來使用這個功能。要注意到,這個不同的使用方法,我們的鎖級別是不一樣的。

  1. 明確指定主鍵,并且主鍵存在,那么這是一個行級鎖,如果主鍵不存在,那么并不會加鎖。如果明確指定的是索引,那么滿足該索引的所有行都會加上鎖。
  2. 如果select條件中并沒有命中主鍵或者索引,那么這將是一個表級鎖,也就是整個表的數據都不能夠變更,但是可以新插入數據。另外一種情況,是沒有正確的使用到索引,例如使用不等于,like作為篩選條件。要注意的是,如果悲觀鎖鎖表的話,并發將會大大降低,所以,使用for update的時候,切記要檢查是否命中索引。

好了,今天的程序員經典面試題,數據庫的悲觀鎖我們就學習到這里。

責任編輯:華軒 來源: 今日頭條
相關推薦

2022-06-08 10:40:18

顯卡礦卡暴跌

2019-12-26 15:16:35

分庫分表選型流程

2021-03-30 15:10:50

Java序列化

2024-05-08 08:18:05

索引失效場景

2020-02-11 08:02:26

千萬級大表優化

2019-08-27 08:20:38

物聯網IOT技術

2017-12-06 08:14:25

JavaScripBUG修復

2009-07-21 08:29:05

Windows 7系統AeroSnapWindows 7系統

2020-10-20 13:50:47

MySQL數據庫

2020-12-16 10:28:05

Double浮點數計算

2020-02-21 20:21:45

線程共享資源

2014-11-10 18:53:28

2010-11-22 14:27:05

MySQL鎖表

2018-07-26 14:50:00

數據庫MySQL大表優化

2021-02-07 07:40:31

Synchronize用法

2021-12-14 14:50:12

synchronizeJava

2023-03-10 08:27:07

for循環項目線性結構

2021-07-28 05:01:29

Lombok前端測試

2025-03-31 00:00:01

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 97免费在线观看视频 | 午夜成人在线视频 | 天堂色网 | 国产精品视频免费播放 | 久久久久久高潮国产精品视 | 在线视频91 | 欧美在线看片 | 看亚洲a级一级毛片 | 精品亚洲一区二区 | 老司机久久| 欧美日韩一区二区三区四区五区 | 久久精品91久久久久久再现 | 91在线观看网址 | 欧美伊人影院 | 四虎影 | 伊人狠狠干 | 天天草天天射 | 一区二区三 | www久久久 | 久久精品小视频 | 亚洲激情自拍偷拍 | 欧洲亚洲一区二区三区 | 国产乱码精品一区二区三区中文 | 国产91一区二区三区 | 黑人巨大精品欧美一区二区一视频 | 亚洲国产精品suv | 最新av中文字幕 | 欧美性受xxx | 天天色综网| 国产无人区一区二区三区 | 91文字幕巨乱亚洲香蕉 | 精品在线一区二区三区 | 精品在线一区 | 国产欧美一区二区精品忘忧草 | 日韩h| 精品欧美一区二区三区 | 欧美一级免费观看 | 午夜精品久久久久久久久久久久 | 国产精华一区 | 国产精品久久久久久婷婷天堂 | 午夜久久久久久久久久一区二区 |