中文字幕av高清_国产视频一二区_男女羞羞羞视频午夜视频_成人精品一区_欧美色视_在线视频这里只有精品

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 兩個人同時操縱數據庫,怎么處理并發問題?

兩個人同時操縱數據庫,怎么處理并發問題?

來源:千鋒教育
發布人:xqq
時間: 2023-10-13 12:16:18 1697170578

一、兩個人同時操縱數據庫,怎么處理并發問題

從數據庫層面上,有三種解決方式:

1.悲觀鎖

select XXX from 商品庫存表 for update 。

用戶A 和B 同時操作一個商品的庫存,數據庫層面上,必有一個先后順序。

先執行select XXX for update 的,會得到數據庫層面上的鎖。 后到的,程序會阻塞在這一句,直到前一個釋放鎖。

壞處是 系統并發數到此處會急劇減小。畢竟 只能有一個用戶操作,其他人都要等著。

2.樂觀鎖

名列前茅步: 代碼中查詢商品庫存信息,并校驗數量是否大于1

Product p = getFromDB(productId);

Date lastUpdateTime = p.getUpdateTime;

if(p.total<1){

retrun;

}

第二步:更新庫存

update XXX set total =total – 1 , updateTime=now() where productId = 123 and updateTime = lastUpdateTime ;

關鍵點在于判斷影響行數是否為0。

如果為0 ,則說明執行sql的時候,已經沒庫存了。

核心在于 where 中的 updateTime = lastUpdateTime 。

lastUpdateTime 是上一步我們查詢的修改之前的更新時間。如果其他線程修改并提交了事務,那么數據庫此刻的UpdateTime 必定和我們之前查詢出來的不一致,所以where返回空,也不會修改數據。

建議使用:

update XXX set total =newTotal , updateTime=now() where productId = 123 and total=oldTotal and updateTime = lastUpdateTime ;

具體原因同3

3.單純的sql語句

update XXX set total =total – 1 where productId = 123 and total>=1 。

本質是在 數據庫層面 針對 數量進行增量修改(set total =total – 1 ),以及修改的時候,判斷是否可以進行庫存扣減( total>=1 )

延伸閱讀:

二、信息抽取是什么

信息抽取(infromation extraction)信息抽取是一種自動化地從半結構化和無結構數據中抽取實體、關系以及實體屬性等結構化信息的技術。關鍵技術包括:實體抽取、關系抽取和屬性抽取。

1、實體抽取,也稱為命名實體識別(named entity recognition,NER),是指從文本數據集中自動識別出命名實體。

當前主流技術為面向開放域(open domain)的實體抽取。

2、關系抽取,為了得到語義信息,從相關語料中提取出實體之間的關聯關系,通過關系將實體聯系起來,才能夠形成網狀的知識結構。其技術研究已經從早期的“人工構造語法和語義規則”(模式匹配),“統計機器學習”發展到“面向開放域的信息抽取方法”與“面向封閉領域的方法”相結合。

3、屬性抽取,目標是從不同信息源中采集特定實體的屬性信息,如針對某個公眾人物,可以從網絡公開信息中得到其昵稱、生日、國籍、教育背景等信息。采用數據挖掘的方法直接從文本中挖掘實體屬性和屬性值之間的關系模式,據此實現對屬性名和屬性值在文本中的定位。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
怎么看待oracle的exadata與share nothing系列的hadoop等,以及優缺點相互對比、各自的前途對未來的影?

一、怎么看待oracle的exadata與share nothing系列的hadoop等exadata的架構我也仔細思考過很久,個人愚見,exadata引進了部分MPP思想,當并非MPP...詳情>>

2023-10-13 13:58:16
MySQL數據庫char類型的長度是什么意思?

一、MySQL數據庫char類型的長度是什么意思MySQL數據庫char類型的長度是指該字段所占用的字節數。char數據類型是MySQL中固定長度的字符類型。 我...詳情>>

2023-10-13 13:51:32
“數據庫”領域里面的“數據字典”到底是什么?

一、“數據庫”領域里面的“數據字典”到底是什么數據字典是一個存放有數據庫所用的有關信息,在數據庫設計的初期將數據庫中的各類數據的描述集...詳情>>

2023-10-13 13:49:07
微博feed系統的推模式和拉模式的架構是怎樣的?

一、微博feed系統的推模式架構1、發布服務負責生成用戶的消息,將消息推送到數據發布中心。2、推送服務在接收到新消息后,根據消息的類型和內容...詳情>>

2023-10-13 13:28:55
Oracle數據庫運行越來越慢,應該怎么優化?

一、Oracle數據庫運行越來越慢的優化方法1、應用層優化應用程序的設計和開發中,可以采用合理的數據查詢語句來減少數據庫的 I/O 操作次數,例如...詳情>>

2023-10-13 13:27:44
主站蜘蛛池模板: 国产日韩一区二区三区 | 日韩国产一区二区 | 国产日韩在线视频 | 国产99一区| 午夜视频网站 | 国产传媒在线视频 | www.五月天婷婷 | 亚洲精品久久 | 欧美精品久久久久久久监狱 | 免费黄色av| 色九九 | 国产在线中文字幕 | 自拍偷拍第一页 | 午夜免费网 | 再深点灬舒服灬太大了添少妇视频 | 国产毛片在线 | 久草视 | 九九免费视频 | 中文欧美日韩 | 黄色毛片看看 | 69性欧美高清影院 | 一级免费黄视频 | 一级黄免费看 | 国精产品一区二区三区 | 国产精品日产欧美久久久久 | 久久99视频| 欧美1区 | 91中文字幕在线观看 | 日韩国产精品视频 | 久久精品亚洲一区二区 | 国产精品久久久久久久一区探花 | 亚洲 精品 综合 精品 自拍 | 国产一级片一区二区三区 | 国产精品三级在线 | 成人射区| 国产精品无码久久久久 | 一个人看的www日本高清视频 | 国产在线一区二区三区在线观看 | 亚洲国产精品99久久久久久久久 | 99av| 日韩国产一区 |