DB2 執行Sql 語句中時的with ur/cs/rs/rr四種隔離級別
DB2 執行Sql 語句中時的四種隔離級別
with ur
這幾天查詢DB2資料庫,老遇到select * from XXX with ur, 好奇ur是什麼作用,現在記錄一下。
DB2中,共有四種隔離級:RS,RR,CS,UR,DB2提供了這4種不同的保護級別來隔離資料。隔離級是影響加鎖策略的重要環節,它直接影響加鎖的範圍及鎖的持續時間。兩個應用程式即使執行的相同的操作,也可能由於選擇的隔離級的不同而造成加鎖的結果不同。
1、ur(Uncommited Read) 就是俗稱“髒讀“,在沒有提交資料的時候能夠讀到更新的資料;是最低的隔離級別,並且提供最高的並行性。
2、cs(Cursor Stability) 在一個事務中進行查詢時,允許讀取提交前的資料,資料提交後,當前查詢就可以讀取到資料,update資料的時候並不鎖表,在這一隔離級別中,遊標的“當前”行是鎖定的。如果該行只是被讀,鎖定會一直持續到一個新行被訪問或者該工作單元終止。如果該行被修改,鎖定會一直持續到該工作單元終止。
3、rs(Read Stability)讀穩定性,在一個事務中進行查詢時,不允許讀取其他事務update的資料,允許讀取到其他事務提交的新增資料,使用讀穩定性,在同一個工作單元中的一個程式程式所檢索的全部行都會被鎖定。對於一個給定的遊標,它要鎖定所有與結果集匹配的行,例如,如果你有一個含1000行的表並且查詢返回10行,那麼只有那10行會被鎖定。讀穩定性使用中等級別的鎖定。
4、rr(Repeatable Read)可重新性,可 重複讀是最高的隔離級別,提供了最大程度的鎖定和最少的並行。產生結果集的所有行都會被鎖定,也就是說,即使不必出現在最終結果集中的行也會被鎖定。在此 該工作單元結束前,任何其它程式都不能修改,刪除或插入一個會影響結果集的行。重複讀確保程式在一個工作單元中多次進行的同一項查詢都返回結果。在一個事務中進行查詢時,不允許任何對這個查詢表的資料修改。
相關文章
- SQL92標準四種隔離級別SQL
- 事務的四種隔離級別
- 事務四種隔離級別
- (轉)事務的四種隔離級別
- MySQL 的四種事務隔離級別MySql
- 資料庫的四種隔離級別資料庫
- Mysql 四種事務隔離級別MySql
- 面試問爛的 MySQL 四種隔離級別面試MySql
- MySQL資料庫中的四種隔離級別MySql資料庫
- 怎麼理解SQL的四個事務隔離級別?SQL
- RR與RC隔離級別下MySQL不同的加鎖解鎖方式MySql
- sql語句中#{}和${}的區別SQL
- SQL語句中的AND和OR執行順序問題SQL
- PostgreSQL 併發控制機制(4):RR隔離級別,MySQL vs PostgreSQLMySql
- MySQL 預設隔離級別是RR,為什麼阿里這種大廠會改成RC?MySql阿里
- 理解事務的4種隔離級別
- 帶你真正理解MySQL資料庫的四種隔離級別!MySql資料庫
- SQL語句中exists和in的區別SQL
- SQL語句中not in 和not exist的區別SQL
- MySQL的隔離級別MySql
- 四、InnoDB儲存引擎如何利用鎖實現四種事務隔離級別儲存引擎
- 事務的四大特性,以及隔離級別
- 測試一下MySQL四種隔離級別都做了什麼MySql
- [資料庫]事務的4種隔離級別資料庫
- 四個案例看懂 MySQL 事務隔離級別MySql
- MySQL 事務的四大特性以及隔離級別MySql
- 資料庫系列:事務的4種隔離級別資料庫
- SQLSERVER 的四個事務隔離級別到底怎麼理解?SQLServer
- Postgresql 的預設隔離級別SQL
- MySQL 的隔離級別 自理解MySql
- MySQL的事務隔離級別MySql
- MySQL事務的隔離級別MySql
- sql語句中JOIN ON 的使用SQL
- SQL Server 2017 AlwaysOn輔助副本資料庫的隔離級別SQLServer資料庫
- [Mysql]事務/隔離級別MySql
- 資料庫隔離級別資料庫
- MySQL事務隔離級別MySql
- Mariadb之事務隔離級別