亚洲综合社区欧美综合色-欧美逼逼一区二区三区-国产老熟女高潮精品网站-国产日韩最新视频在线看

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

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

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

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

臟讀(dirty reads)

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

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


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

幻讀(phantom read)

一個(gè)事務(wù)重新執(zhí)行一個(gè)查詢,返回一套符合查詢條件的行, 發(fā)現(xiàn)這些行因?yàn)槠渌罱峤坏氖聞?wù)而發(fā)生了改變。

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

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

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ù)讀隔離 級(jí)別和其他數(shù)據(jù)庫(kù)的可重復(fù)讀是有區(qū)別的,不會(huì)造成幻象讀(phantom read),所謂幻象讀,就是同一個(gè)事務(wù)內(nèi),多次select,可以讀取到其他session insert并已經(jīng)commit的數(shù)據(jù)。下面是一個(gè)小的測(cè)試,證明InnoDB的可重復(fù)讀隔離級(jí)別不會(huì)造成幻象讀。測(cè)試涉及兩個(gè)session,分別為 session 1和session 2,隔離級(jí)別都是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)建表并插入測(cè)試數(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 查詢,沒(méi)有數(shù)據(jù),正常,session1沒(méi)有提交,不允許臟讀
mysql> select * from test;
Empty set (0.00 sec)
session 1 提交事務(wù)

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

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


以上試驗(yàn)版本:

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


 


本文出自:億恩科技【1tcdy.com】

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

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

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