国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

數據庫事物樂觀鎖和悲觀鎖

來源:懂視網 責編:小采 時間:2020-11-09 16:22:14
文檔

數據庫事物樂觀鎖和悲觀鎖

數據庫事物樂觀鎖和悲觀鎖:數據庫事物樂觀鎖和悲觀鎖 數據庫事物單個邏輯單元工作執行的一系列操作,就是一些sql語句,也可以是多條,一個update操作就是一個事物。 事物具有四種特性 1.原子性 事物必須是原子工作單元,要么都執行成功(也就是說所有的sql語句都執行成功),要么都不
推薦度:
導讀數據庫事物樂觀鎖和悲觀鎖:數據庫事物樂觀鎖和悲觀鎖 數據庫事物單個邏輯單元工作執行的一系列操作,就是一些sql語句,也可以是多條,一個update操作就是一個事物。 事物具有四種特性 1.原子性 事物必須是原子工作單元,要么都執行成功(也就是說所有的sql語句都執行成功),要么都不

數據庫事物樂觀鎖和悲觀鎖 數據庫事物單個邏輯單元工作執行的一系列操作,就是一些sql語句,也可以是多條,一個update操作就是一個事物。 事物具有四種特性 1.原子性 事物必須是原子工作單元,要么都執行成功(也就是說所有的sql語句都執行成功),要么都不


數據庫事物樂觀鎖和悲觀鎖

數據庫事物單個邏輯單元工作執行的一系列操作,就是一些sql語句,也可以是多條,一個update操作就是一個事物。

事物具有四種特性

1.原子性

事物必須是原子工作單元,要么都執行成功(也就是說所有的sql語句都執行成功),要么都不執行(所有的sql語句都不執行)。

www.2cto.com

2. 一致性

事務在完成時,必須使所有的數據都保持一致狀態。

3.隔離性

允許多個用戶對數據進行并發訪問,而不破環數據的完整行和正確性,同時,并發事物的修改必須與其他并發事物隔離,一般是通過加鎖實現。

4.持久性

事物完成后,數據必須永久的保存到數據庫中。

事物并發訪問如果不設置事物的隔離級別,就會帶來如下問題

1.臟讀 讀取了其他事物未提交的數據,一個事物修改了某條數據還未提交,一個事物讀取了這條數據,而修改的事物由于某種原因失敗會滾了,這個時候讀取事物就讀到了臟數據。

2.不可重復讀

一個事物兩次讀取某條數據,但讀取的結果不一樣,在第二次讀取的時候其他實物修改了這條數據。

www.2cto.com

3.幻讀

一個事物兩次讀取,讀取到了其他事物插入到數據中的數據。

針對以上情況,數據庫提供了四種事物的隔離級別來解決事物并發帶來的問題。

1.讀未提交(read uncommited)

寫事物會阻塞寫事物,但不會阻塞讀取事物,因此不能解決讀取臟數據,讀取事物不會阻塞其他事物,這中隔離級別不能解決上面任何問題。

2 讀已經提交(read commited)

寫事物會阻塞寫事物和讀取事物,因此可以避免讀取臟數據,但讀取事物不會阻塞寫事物,不能解決可重復度去的問題。

3 可重復讀(Repeatable read)

讀事物會阻塞寫事物和讀事物,因此可以重復讀,但其他事物可以進行插入操作,不能解決幻讀的問題。

4 序列化(Serializable)

事物必須一個一個的執行 ,可以解決上面的問題,但事物基本沒有并發性。

事物的并發控制

當多個人并發修改同一條數據時,必須實現一個控制系統,使一個人的修改不會對其他人的修改造成負面影響。

樂觀鎖和悲觀鎖控制并發

1.樂觀鎖

樂觀的認為其他用戶企圖訪問和更改你正在訪問的對象的概率很低,即使有,大不了從來一次,對在做一次的開銷不是很大的情況下,如果開銷很大則必須使用悲觀鎖.樂觀鎖的實現需要在程序中控制,可以通過加一個數據版本號來控制比如兩個事物都讀取了同一條記錄要進行更新

Sql代碼

select * from person

select * from person

update person set name='xiaoming',version=version+1 where id='1'

and version=0;

這個更新語句會執行失敗,因為找不到版本好為0的數據,第一個事物已經更新了

pdate person set name='xiaoming',version=version+1 where id='1'

and version=0;

www.2cto.com

如果實物的隔離級別設置為讀已提交,使用樂觀鎖并能解決可重復度,系統要允許不可重復讀取。

悲觀鎖

很悲觀的認為其他用戶訪問和更改你正在訪問或修改的對象的概率和高,悲觀鎖的實現是通過加鎖來實現的,當要更改數據前就加鎖,別的事物不能操作,sql語句如下

Sql代碼

select * from person for update

update person set name='ff' where id='1'

直到上面事物提交,才能釋放鎖,其他事物才能操作。悲觀鎖的并發性會降低。因此大多數情況下,使用樂觀鎖來實現并發修改。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

數據庫事物樂觀鎖和悲觀鎖

數據庫事物樂觀鎖和悲觀鎖:數據庫事物樂觀鎖和悲觀鎖 數據庫事物單個邏輯單元工作執行的一系列操作,就是一些sql語句,也可以是多條,一個update操作就是一個事物。 事物具有四種特性 1.原子性 事物必須是原子工作單元,要么都執行成功(也就是說所有的sql語句都執行成功),要么都不
推薦度:
標簽: 數據 單個 數據庫
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 久久精品一区二区 | 黄a免费| 国产精品视频一区二区三区 | 国产日韩欧美一区 | 久久亚洲精品国产亚洲老地址 | 国产欧美第一页 | 亚洲毛片免费看 | 国产成人精品一区二三区2022 | 国产成人一区二区三区在线播放 | 欧美日韩国产一区二区三区在线观看 | 91精品国产乱码久久久久久 | 2020精品极品国产色在线观看 | 欧美日韩欧美日韩 | 国产成人3p视频免费观看 | 欧美一区视频 | 日皮影院 | 最新大黄网站免费 | 中文字幕日韩精品有码视频 | 欧美成人视屏 | 国产成人一区在线播放 | 久久成人a毛片免费观看网站 | 国产在线成人一区二区 | 亚洲专区路线一路线二天美 | 影音先锋女人aa鲁色资源 | 日韩亚洲欧美日本精品va | 国产高清不卡码一区二区三区 | 亚洲天堂欧美 | 国产成人精品久久亚洲高清不卡 | 亚洲精品不卡久久久久久 | 日韩精品一区二区三区不卡 | 中文字幕无线码一区 | 国产精品久久久久久久久99热 | 全免费a级毛片免费看不卡 日本二区在线观看 | 色综合91久久精品中文字幕 | 欧美日韩综合精品一区二区三区 | 亚洲一区二区三区在线免费观看 | 国产精品视频一区二区噜噜 | 亚洲综合在线视频 | 日本高清天码一区在线播放 | 欧美精品aaa久久久影院 | 亚洲最新在线 |