• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答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
    主站蜘蛛池模板: 亚洲国产成人精品女人久久久| 污污网站国产精品白丝袜| 香蕉99久久国产综合精品宅男自 | 亚洲国产成人精品久久久国产成人一区二区三区综 | 国产精品兄妹在线观看麻豆| 天天爽夜夜爽8888视频精品| 国产成人精品久久亚洲高清不卡 | 国产成人精品无码一区二区| 亚洲av成人无码久久精品| 久久国产精品免费一区二区三区| 日本人精品video黑人| 囯产精品一品二区三区| 日本内射精品一区二区视频| 日韩精品无码Av一区二区| 精品精品国产国产| mm1313亚洲国产精品无码试看| 国产韩国精品一区二区三区久久| 久久99国产综合精品女同| 无码国产精品一区二区免费3p | 国产精品欧美久久久久无广告| 日本久久久精品中文字幕| 国产天天综合永久精品日| 久久99精品国产99久久6男男| 国产精品特级毛片一区二区三区| 日本午夜精品一区二区三区电影| 亚洲欧洲久久久精品| 亚洲av午夜国产精品无码中文字 | 国产办公室秘书无码精品99| 久久精品aⅴ无码中文字字幕不卡| 亚洲无线观看国产精品| 欧美精品区一级片免费播放| 国内精品久久久久久久coent| 国产精品无码无卡无需播放器| 国产成人精品a视频一区| 国产成人精品福利网站在线观看| 国产99久久九九精品无码| 老司机99精品99| 777国产盗摄偷窥精品0OOO| 999国产精品色在线播放 | 国产精品国产三级国产AⅤ| 国产成人精品一区在线|