sqlserver儲存方式
頁
sqlserver是以頁的形式儲存資料,每個資料頁的大小為8kb,sqlserver會把空間分為多個頁,sqlserver與資料互動單位最小的io操作就是頁級別。(頁的型別有資料頁,索引頁等)
區
八個連續的頁會組合成乙個區,區的最少是由八個連續的頁組成。
事務隔離級別
1.read uncommitted 允許所有髒讀,不可重複讀和幻讀
2.read committed 不允許髒讀,但允許不可重複讀和幻讀
3.repeatable read 不允許髒讀、不可重複讀,但允許幻讀
4.serializable 事務序列化
事務併發引發的問題
1.髒讀
例如當事務a對訂單剩餘量(100個)做了修改(減去1個),此時事務b進行獲取到的訂單剩餘量是(99個),事務a此時又對該訂單進行了回滾,那麼事務b剛才獲取到的訂單剩餘量(99個)就是屬於髒讀。
2.幻讀
幻讀主要是在資料刪除和新增的時候引發的問題,例如事務a獲取訂單表總記錄數為(10條),此時事務b刪除了一條記錄(9條),那麼事務a再次去獲取訂表資料的時候就會發現只剩下(9條)資料,這種操作對於事務a來說就相當於出現幻覺。
3.不可重複讀
跟幻讀的區別是幻讀針對的是刪除和新增的動作,不可重複讀一般針對修改,例如事務a獲取訂單剩餘量為(10個),此時事務b對訂單做了修改去掉1個(剩餘9個),事務a再次獲取的時候就是(9條),事務a前後兩次讀取資料值不一樣。
4.丟失更新
事務a獲取訂單剩餘量為(10個),此時事務b也同步獲取到訂單剩餘量為(10個),事務a修改訂單剩餘量-1,此時訂單剩餘量為(9個),並且提交事務,事務b修改訂單剩餘量-1,此時訂單剩餘量為(9個),也提交事務,此時訂單剩餘量應該為(8個)的但是實際剩餘量確實(9個)
1.髒讀
2.不可重複讀
3.幻讀
4.丟失更新
SQL Server 事務隔離級別
1 sql server 的 5個標準事務隔離級別分別是 read uncommitted,read committed,repeatable read 和 serializable,snapshot.sql server 使用鎖來實現隔離級別。下面使用 gif 動畫對 sql server 前4 ...
SQL Server事務隔離級別
1 首先是如何檢視sql server的事務的隔離級別 命令 dbcc useroptions 結果如下圖所示 2 如何修改資料庫的事務隔離級別,5中隔離級別的設定 set transaction isolation level read committed set transaction isol...
SQLServer事務隔離級別
資料庫中的事物是具有原子性 atomicity 一致性 consistemcy 隔離性 isolation 永續性 durability 四個特徵。1 原子性 atomicity 事務中的全部操作在資料庫中是不可分割的,要麼全部完成,要麼全部不執行。2 一致性 consistency 幾個並行執行的...