事務隔離性的一些基礎知識

2021-04-12 14:52:26 字數 1029 閱讀 1480

事務隔離性的一些基礎知識

在sql 2000中是講究事務隔離級別的,分為以下幾種:(符合sql 92中定義的事務隔離級別)

[1] read uncommitted

[2] read committed

[3] repeatable read

[4] serializable

其中要特別注意[4],也就serializable,這個才和我們在資料庫原理中學的那個」i」含義一致呢。

那其它的那些隔離級別又是幹什麼的呢?讓我們先了解以下幾個概念:髒讀,不可重複讀,幻像。

[1] 髒讀:

所謂髒讀,就是讀了未提交的資料。舉個例子:b事務讀取了a事務尚未commit的資料,不巧的是,之後a事務rollback了,這就叫髒讀。

[2] 不可重複讀:

所謂不可重複讀,就是乙個事務多次讀取某一行,但是這一行在多次讀取之中的值不一致(這個事務並為對這行作任何修改操作)。舉例:a事務多次讀取某一行,在它多次讀取操作之間,b事務修改了這一行,這就是不可重複讀。

[3] 幻像:

所謂幻像,在乙個尚未提交的事務的讀取的行的範圍中插入新行或刪除現有行。舉例:b事務對a事務讀取的行範圍內插入新行或刪除行,而a事務之後還會訪問這些行(即操作會受到這些行的影響),這樣a事務中就發生了幻像。

好了,現在我們就可以明確隔離級別中[1]~[4]的含義了:

是否可以髒讀

是否可以不可重複讀

是否出現幻像

read uncommitted y

y yread committed n

y yrepeatable read n

n yserializable n

n n此表表明了從[1]~[4]隔離性逐漸增強,而併發性逐漸減弱,至於應該取用那種隔離級別,就和實際情況有關了。我之前專案中犯的錯誤就是以為預設就是serializable,而其實在sql2000中預設是read committed。

一些基礎知識

關於cd cd 返回剛才的位置 關於ls ls l,簡寫ll ls a顯示的檔案以.開頭,隱藏檔案 la al 關於cp cp r tmp dir 拷目錄 tmp拷到dir 需要加 r的 cp rm 10 13 1.grep 在乙個字元集合中找到符合條件的行輸出 如 grep hello file ...

一些基礎知識

linux基礎知識考查 1 在linux 系統中,以 檔案 方式訪問裝置 2 前台起動的程序使用 ctrl c 終止。3 在使用ls 命令時,用八進位制形式顯示非列印字元應使用引數 b 4 在linux 系統中,用來存放系統所需要的配置檔案和子目錄的目錄是 etc 5 在linux 系統中,壓縮檔案...

一些基礎知識(一)

1 類成員的組成 函式成員和資料成員 資料成員 字段,常量,事件成員 public int a 0 字段成員 public const int b 90 常量public event customeventhandler raisecustomevent 事件成員 函式成員 方法,屬性,建構函式,終...