<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    lqxue

    常用鏈接

    統(tǒng)計

    book

    tools

    最新評論

    [收藏]MySQLInnoDB存儲引擎的事務隔離級別

    我們知道,在關系數(shù)據(jù)庫標準中有四個事務隔離級別:

     

    未提交讀(Read Uncommitted):允許臟讀,也就是可能讀取到其他會話中未提交事務修改的數(shù)據(jù) 
    提交讀(Read Committed):只能讀取到已經(jīng)提交的數(shù)據(jù)。Oracle等多數(shù)數(shù)據(jù)庫默認都是該級別 
    可重復讀(Repeated Read):可重復讀。在同一個事務內(nèi)的查詢都是事務開始時刻一致的,InnoDB默認級別。在SQL標準中,該隔離級別消除了不可重復讀,但是還存在幻象讀 
    串行讀(Serializable):完全串行化的讀,每次讀都需要獲得表級共享鎖,讀寫相互都會阻塞
    查看InnoDB系統(tǒng)級別的事務隔離級別:

    mysql> SELECT @@global.tx_isolation;
    +-----------------------+
    | @@global.tx_isolation |
    +-----------------------+
    | REPEATABLE-READ       |
    +-----------------------+
    1 row in set (0.00 sec)
    查看InnoDB會話級別的事務隔離級別:

    mysql> SELECT @@tx_isolation;
    +-----------------+
    | @@tx_isolation  |
    +-----------------+
    | REPEATABLE-READ |
    +-----------------+
    1 row in set (0.00 sec)
    修改事務隔離級別:

    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的可重復讀隔離級別和其他數(shù)據(jù)庫的可重復讀是有區(qū)別的,不會造成幻象讀(phantom read),所謂幻象讀,就是同一個事務內(nèi),多次select,可以讀取到其他session insert并已經(jīng)commit的數(shù)據(jù)。下面是一個小的測試,證明InnoDB的可重復讀隔離級別不會造成幻象讀。測試涉及兩個session,分別為session 1和session 2,隔離級別都是repeateable read,關閉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 提交事務

    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)
    --EOF--



    From:http://bbs.itren.cn/html/bbs41739.html

    posted on 2008-05-23 14:39 lqx 閱讀(238) 評論(0)  編輯  收藏 所屬分類: database

    主站蜘蛛池模板: 亚洲免费在线视频观看| 亚洲人成色99999在线观看| 亚欧在线精品免费观看一区| 亚洲一级免费毛片| 亚洲精品国产高清嫩草影院 | 国产精品成人免费观看| 亚洲av日韩av不卡在线观看| 性xxxxx免费视频播放| 理论片在线观看免费| 亚洲无线电影官网| 免费一级毛片在线播放| 最近免费mv在线观看动漫| 亚洲欧美日韩中文字幕在线一区| 国产成人亚洲精品狼色在线| 亚洲欧洲免费无码| 182tv免费视频在线观看| 亚洲中文字幕无码爆乳app| 国产精一品亚洲二区在线播放| 中文字幕无码不卡免费视频| 亚洲精品黄色视频在线观看免费资源 | 91亚洲一区二区在线观看不卡| 日韩一区二区在线免费观看| 青柠影视在线观看免费高清 | 国产成人免费一区二区三区| 久久aⅴ免费观看| 羞羞的视频在线免费观看| 亚洲国产韩国一区二区| 区久久AAA片69亚洲| 亚洲熟妇av午夜无码不卡| 国产亚洲精品美女久久久久| 亚洲成av人影院| 美女被免费视频网站a国产| 中文字幕高清免费不卡视频 | 亚洲AV日韩AV天堂一区二区三区 | 2021精品国产品免费观看| 美女羞羞免费视频网站| 亚洲人成77777在线观看网| 亚洲av日韩av天堂影片精品| AV在线亚洲男人的天堂| 国产男女猛烈无遮挡免费视频| 色老头永久免费网站|