亚洲Aⅴ无码Av红楼在线观看_国产午夜福利涩爱AⅤ_国产sm调教一区二区三区_精品人妻一区二区三区不卡毛片

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

MySQL中的事務(wù)隔離級別參考

發(fā)布時間:  2012/9/24 17:00:21

SQL 標(biāo)準(zhǔn)用三個必須在并行的事務(wù)之間避免的現(xiàn)象定義了四個級別的事務(wù)隔離。 這些不希望發(fā)生的現(xiàn)象是:

臟讀(dirty reads)

一個事務(wù)讀取了另一個未提交的并行事務(wù)寫的數(shù)據(jù)。

不可重復(fù)讀(non-repeatable reads)
-
 


一個事務(wù)重新讀取前面讀取過的數(shù)據(jù), 發(fā)現(xiàn)該數(shù)據(jù)已經(jīng)被另一個已提交的事務(wù)修改過。

幻讀(phantom read)

一個事務(wù)重新執(zhí)行一個查詢,返回一套符合查詢條件的行, 發(fā)現(xiàn)這些行因為其他最近提交的事務(wù)而發(fā)生了改變。

SQL 事務(wù)隔離級別
離級別  臟讀(Dirty Read)          不可重復(fù)讀(NonRepeatable Read) 幻讀 (Phantom Read)
讀未提交(Read uncommitted) 可能 可能 可能
讀已提交(Read committed) 不可能 可能 可能
可重復(fù)讀 (Repeatable read) 不可能 不可能 可能
可串行化 (Serializable ) 不可能 不可能 不可能

在MySQL中默認(rèn)事務(wù)隔離級別是可重復(fù)讀 (Repeatable read).可通過SQL語句查詢:
查看InnoDB系統(tǒng)級別的事務(wù)隔離級別:
    mysql> SELECT @@global.tx_isolation;
結(jié)果:
+-----------------------+
| @@global.tx_isolation |
+-----------------------+
| REPEATABLE-READ       |
+-----------------------+
1 row in set (0.00 sec)
查看InnoDB會話級別的 事務(wù)隔離級別:
  mysql> SELECT @@tx_isolation;
結(jié)果:
+-----------------+
| @@tx_isolation  |
+-----------------+
| REPEATABLE-READ |
+-----------------+
1 row in set (0.00 sec)
修改事務(wù)隔離級別:

mysql> set global transaction isolation level read committed;

Query OK, 0 rows affected (0.00 sec)


    mysql> set session transaction isolation level read committed;


    Query OK, 0 rows affected (0.00 sec)
InnoDB的可重復(fù)讀隔離 級別和其他數(shù)據(jù)庫的可重復(fù)讀是有區(qū)別的,不會造成幻象讀(phantom read),所謂幻象讀,就是同一個事務(wù)內(nèi),多次select,可以讀取到其他session insert并已經(jīng)commit的數(shù)據(jù)。下面是一個小的測試,證明InnoDB的可重復(fù)讀隔離級別不會造成幻象讀。測試涉及兩個session,分別為 session 1和session 2,隔離級別都是repeateable read,關(guān)閉autocommit
    mysql> select @@tx_isolation;

    +-----------------+
| @@tx_isolation  |
+-----------------+
| REPEATABLE-READ |
+-----------------+
1 row in set (0.00 sec)

    mysql> set autocommit=off;

Query OK, 0 rows affected (0.00 sec)
session 1 創(chuàng)建表并插入測試數(shù)據(jù)

mysql> create table test(i int) engine=innodb;
    Query OK, 0 rows affected (0.00 sec)

mysql> insert into test values(1);
Query OK, 1 row affected (0.00 sec)
session 2 查詢,沒有數(shù)據(jù),正常,session1沒有提交,不允許臟讀
mysql> select * from test;
Empty set (0.00 sec)
session 1 提交事務(wù)

mysql> commit;
Query OK, 0 rows affected (0.00 sec)
session 2 查詢,還是沒有數(shù)據(jù),沒有產(chǎn)生幻象讀

mysql> select * from test;
Empty set (0.00 sec)


以上試驗版本:

mysql> select version();
+-------------------------+
| version()               |
+-------------------------+
| 5.0.37-community-nt-log |
+-------------------------+
1 row in set (0.00 sec)


 


本文出自:億恩科技【www.allwellnessguide.com】

服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務(wù)熱線