最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題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關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

數(shù)據(jù)庫(kù)事務(wù)的級(jí)別

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 15:33:18
文檔

數(shù)據(jù)庫(kù)事務(wù)的級(jí)別

數(shù)據(jù)庫(kù)事務(wù)的級(jí)別:1.read uncommitted(臟讀)(讀取正在提交的數(shù)據(jù)) read uncommitted(又稱(chēng)讀取未提交內(nèi)容)允許任務(wù)讀取數(shù)據(jù)庫(kù)中未提交的數(shù)據(jù)更改。 測(cè)試腳本: 創(chuàng)建表 CREATE TABLE [dbo].[testTb]( [ID] [int] NULL, [Name] [char](20)
推薦度:
導(dǎo)讀數(shù)據(jù)庫(kù)事務(wù)的級(jí)別:1.read uncommitted(臟讀)(讀取正在提交的數(shù)據(jù)) read uncommitted(又稱(chēng)讀取未提交內(nèi)容)允許任務(wù)讀取數(shù)據(jù)庫(kù)中未提交的數(shù)據(jù)更改。 測(cè)試腳本: 創(chuàng)建表 CREATE TABLE [dbo].[testTb]( [ID] [int] NULL, [Name] [char](20)

1.read uncommitted(臟讀)(讀取正在提交的數(shù)據(jù)) read uncommitted(又稱(chēng)讀取未提交內(nèi)容)允許任務(wù)讀取數(shù)據(jù)庫(kù)中未提交的數(shù)據(jù)更改。 測(cè)試腳本: 創(chuàng)建表 CREATE TABLE [dbo].[testTb]( [ID] [int] NULL, [Name] [char](20) NULL ) 2.建立 事務(wù)A:插入數(shù)據(jù) begin

1.read uncommitted(臟讀)(讀取正在提交的數(shù)據(jù))

read uncommitted(又稱(chēng)讀取未提交內(nèi)容)允許任務(wù)讀取數(shù)據(jù)庫(kù)中未提交的數(shù)據(jù)更改。

測(cè)試腳本:

  1. 創(chuàng)建表

CREATE TABLE [dbo].[testTb](
[ID] [int] NULL,
[Name] [char](20) NULL
)

2.建立 事務(wù)A:插入數(shù)據(jù)

begin tran
insert into testTb values(5,'e')

waitfor delay '00:00:10'

commit;

3.建立事務(wù)B:讀取數(shù)據(jù)

set transaction isolation level read uncommitted
begin tran

select * from testTb


commit;

4.運(yùn)行事務(wù)A立即運(yùn)行事務(wù)B,此時(shí)事務(wù)A還沒(méi)有提交,而事務(wù)B可以讀取事務(wù)A正在提交的數(shù)據(jù)

2.read committed(提交讀)(不能讀取正在提交的數(shù)據(jù))

級(jí)別Read Committed(又稱(chēng)讀取已提交內(nèi)容)可防止臟讀。該級(jí)別查詢(xún)只讀取已提交的數(shù)據(jù)更改。如果事務(wù)需要讀取被另一未完成事務(wù) 修改的數(shù)據(jù),該事務(wù)將等待,直到第一個(gè)事務(wù)完成(提交或回退)。

CREATE TABLE [dbo].[testTb](
[ID] [int] NULL,
[Name] [char](20) NULL
)

2.建立 事務(wù)A:插入數(shù)據(jù)

begin tran
insert into testTb values(5,'e')

waitfor delay '00:00:10'

commit;

3.建立事務(wù)B:讀取數(shù)據(jù)

set transaction isolation level read committed
begin tran

select * from testTb
commit

4.運(yùn)行事務(wù)A立即運(yùn)行事務(wù)B,此時(shí)事務(wù)A還沒(méi)有提交,而事務(wù)B必須等到事務(wù)A完成后才可以讀取數(shù)據(jù)

3.REPEATABLE READ(可重復(fù)讀)(讀取數(shù)據(jù)是不能修改)

指定語(yǔ)句不能讀取已由其他事務(wù)修改但尚未提交的行,并且指定,其他任何事務(wù)都不能在當(dāng)前事務(wù)完成之前修改由當(dāng)前事務(wù)讀取的數(shù)據(jù)。

CREATE TABLE [dbo].[testTb](
[ID] [int] NULL,
[Name] [char](20) NULL
)

2.建立 事務(wù)A:更新數(shù)據(jù)

begin tran
update testTb set Name='CV' where ID='8'

waitfor delay '00:00:10'

commit;

3.建立事務(wù)B:讀取數(shù)據(jù)

set transaction isolation level repeatable read

begin tran

select * from testTb
commit

4.運(yùn)行事務(wù)A立即運(yùn)行事務(wù)B,此時(shí)事務(wù)A還沒(méi)有提交,而事務(wù)B必須等到事務(wù)A完成后才可以讀取數(shù)據(jù)

4.SERIALIZABLE(順序讀)(讀取數(shù)據(jù)是不可插入或修改)

  • 語(yǔ)句不能讀取已由其他事務(wù)修改但尚未提交的數(shù)據(jù)。
  • 任何其他事務(wù)都不能在當(dāng)前事務(wù)完成之前修改由當(dāng)前事務(wù)讀取的數(shù)據(jù)。
  • 在當(dāng)前事務(wù)完成之前,其他事務(wù)不能使用當(dāng)前事務(wù)中任何語(yǔ)句讀取的鍵值插入新行。
  • CREATE TABLE [dbo].[testTb](
    [ID] [int] NULL,
    [Name] [char](20) NULL
    )

    2.建立 事務(wù)A:更新數(shù)據(jù)和插入數(shù)據(jù)

    begin tran
    insert into testTb values(9,'d')

    update testTb set Name='CV' where ID='8'

    waitfor delay '00:00:010'

    commit;

    3.建立事務(wù)B:讀取數(shù)據(jù)

    set transaction isolation level level serializable
    begin tran

    select * from testTb


    commit;

    4.運(yùn)行事務(wù)A立即運(yùn)行事務(wù)B,此時(shí)事務(wù)A還沒(méi)有提交,而事務(wù)B必須等到事務(wù)A完成后才可以讀取數(shù)據(jù)

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    數(shù)據(jù)庫(kù)事務(wù)的級(jí)別

    數(shù)據(jù)庫(kù)事務(wù)的級(jí)別:1.read uncommitted(臟讀)(讀取正在提交的數(shù)據(jù)) read uncommitted(又稱(chēng)讀取未提交內(nèi)容)允許任務(wù)讀取數(shù)據(jù)庫(kù)中未提交的數(shù)據(jù)更改。 測(cè)試腳本: 創(chuàng)建表 CREATE TABLE [dbo].[testTb]( [ID] [int] NULL, [Name] [char](20)
    推薦度:
    • 熱門(mén)焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門(mén)推薦

    專(zhuān)題
    Top