成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server事務隔離級別和Oracle中的區別

數據庫 SQL Server
SQL Server數據庫中,提供了四種SQL Server事務隔離級別,那么SQL數據庫的事務隔離級別和Oracle中的事務隔離級別究竟有何不同呢?下文將帶您尋找出答案。

SQL Server事務隔離級別和Oracle中的事務隔離級別有所不同,在了解二者的區別之前,先讓我們來了解一下事務隔離級別都有哪些。

在SQL92標準中,事務隔離級別分為四種,分別為:

Read Uncommitted
Read Committed
Read Repeatable
Serializable

其中Read Uncommitted與Read Committed為語句級別的,而Read Repeatable與Serializable是針對事務級別的。
在Oracle和SQL Server中設置事務隔離級別的語句是相同的,都使用SQL92標準語法,即:
Set Transaction Isolation Level Read Committed
上面示例中的Read Committed可以被替換為其他三種隔離級別中的任意一種。

1)SQL Server中的隔離級別及實現機制

在SQL Server中提供了所有這四種隔離級別。
下面我們討論在SQL Server中,這幾種隔離級別的含義及其實現方式。

Read Uncommitted:一個會話可以讀取其他SQL Server事務未提交的更新結果,如果這個事務***以回滾結束,這時的讀取結果就可能是錯誤的,所以多數的數據庫應用都不會使用這種隔離級別。

Read Committed:這是SQL Server的缺省隔離級別,設置為這種隔離級別的事務只能讀取其他SQL Server事務已經提交的更新結果,否則,發生等待,但是其他會話可以修改這個事務中被讀取的記 錄,而不必等待事務結束,顯然,在這種隔離級別下,一個事務中的兩個相同的讀取操作,其結果可能不同。

Read Repeatable:在一個SQL Server事務中,如果在兩次相同條件的讀取操作之間沒有添加記錄的操作,也沒有其他更新操作導致在這個查詢條件下記錄數增多,則兩次 讀取結果相同。換句話說,就是在一個事務中***次讀取的記錄保證不會在這個事務期間發生改變。SQL Server是通過在整個事務期間給讀取的記錄加鎖實現這種隔離級別的,這樣,在這個事務結束前,其他會話不能修改事務中讀取的記錄,而只能等待事務結 束,但是SQL Server不會阻礙其他會話向表中添加記錄,也不阻礙其他會話修改其他記錄。

Serializable:在一個SQL Server事務中,讀 取操作的結果是在這個事務開始之前其他事務就已經提交的記錄,SQL Server通過在整個事務期間給表加鎖實現這種隔離級別。在這種隔離級別下,對這個表的所有DML操作都是不允許的,即要等待事務結束,這樣就保證了在 一個事務中的兩次讀取操作的結果肯定是相同的。

2)Oracle中的隔離級別及實現機制

在 Oracle中,沒有Read Uncommitted及Repeatable Read隔離級別,這樣在Oracle中不允許一個會話讀取其他事務未提交的數據修改結果,從而避免了由于事務回滾發生的讀取錯誤。Oracle中的 Read Committed和Serializable級別,其含義與SQL Server類似,但是實現方式卻大不一樣。

在Oracle 中,存在所謂的回滾段(Oracle9i之前版本)或撤銷段(Oracle9i版本),Oracle在修改數據記錄時,會把這些記錄被修改之前的結果存入 回滾段或撤銷段中,就是因為這種機制,Oracle對于事務隔離級別的實現與SQL Server截然不同。在Oracle中,讀取操作不會阻礙更新操作,更新操作也不會阻礙讀取操作,這樣在Oracle中的各種隔離級別下,讀取操作都不 會等待更新事務結束,更新操作也不會因為另一個事務中的讀取操作而發生等待,這也是Oracle事務處理的一個優勢所在。

Oracle缺省的 設置是Read Committed隔離級別(也稱為語句級別的隔離),在這種隔離級別下,如果一個事務正在對某個表進行DML操作,而這時另外一個會話對這個表的記錄進 行讀取操作,則Oracle會去讀取回滾段或撤銷段中存放的更新之前的記錄,而不會象SQL Server一樣等待更新事務的結束。

在Serializable隔離級別(也稱為事務級別的隔離),事務中的讀取操作只能讀取這個事務開始之前已經提交的數據結果。如果在讀取時,其他事務正在 對記錄進行修改,則Oracle就會在回滾段或撤銷段中去尋找對應的原來未經更改的記錄(而且是在讀取操作所在的事務開始之前存放于回滾段或撤銷段的記 錄),這時讀取操作也不會因為相應記錄被更新而等待。

 

 

 

 

【編輯推薦】

帶您深入了解SQL Server事務

SQL Server定時作業的設置方法

SQL Server連接錯誤的解決方法

25條mysql和sql server區別

SQL Server自增字段的方法

責任編輯:段燃 來源: 互聯網
相關推薦

2010-11-19 16:13:06

oracle事務隔離級

2022-10-09 20:52:19

事務隔離級別傳播機制

2009-06-29 17:54:47

Spring事務隔離

2010-10-19 13:40:30

SQL Server事

2018-12-19 16:46:38

MySQL事務隔離數據庫

2021-08-04 13:19:42

MySQL 事務隔離

2021-07-26 10:28:13

MySQL事務隔離

2024-04-26 09:17:20

MySQL事務隔離

2023-10-11 08:09:53

事務隔離級別

2020-09-21 18:44:35

MySQL

2022-09-13 13:49:05

數據庫隔離

2021-01-18 11:49:26

面試事務隔離

2024-12-02 08:37:04

2025-01-13 13:12:54

2020-10-13 10:32:24

MySQL事務MVCC

2025-03-03 08:20:00

MySQL事務隔離數據庫

2022-08-11 07:55:05

數據庫Mysql

2022-09-19 06:16:23

事務隔離級別Spring

2021-10-19 10:10:51

MySQL事務隔離級別數據庫

2023-10-13 07:54:49

數據庫MySQL
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国精产品一品二品国精在线观看 | 成人国内精品久久久久一区 | 在线观看黄色电影 | 中文字幕一区二区三区在线视频 | 91www在线观看 | 婷婷毛片 | 国产成人免费在线观看 | 国产精品高潮呻吟久久aⅴ码 | 欧美日韩1区2区3区 欧美久久一区 | 99热首页 | 日韩中文字幕高清 | 黑人精品欧美一区二区蜜桃 | 成人精品久久 | 久久91av | 九九亚洲 | 久久精品成人 | 精品国产乱码久久久久久中文 | 成人毛片网站 | 国产免费a视频 | 涩涩视频网站在线观看 | 国产精品久久久亚洲 | 亚洲 中文 欧美 日韩 在线观看 | 日韩一区二区不卡 | 免费视频一区二区三区在线观看 | 精品一区二区三区四区 | 亚洲社区在线 | 久久精品国产一区二区 | 一区二区三区中文字幕 | 欧美天堂一区 | 国产一区二区在线视频 | 国产国产精品久久久久 | 国产精品成人一区二区三区 | 在线黄色影院 | 欧美国产日韩在线观看 | 午夜精品久久久久99蜜 | 国产一区2区| 久久69精品久久久久久久电影好 | 成人一区av偷拍 | 九九综合| 午夜小影院 | 国产一区二区免费 |