• CUBRID学习笔记 20 默认的并发规则


    默认的设置是ISOLATION LEVEL 3

    语法 SET TRANSACTION ISOLATION LEVEL 3;

    最笨.官网的图不错看图吧

    session 1

    session 2

    ;autocommit off

    AUTOCOMMIT IS OFF

     

    SET TRANSACTION ISOLATION LEVEL 3;

     

    Isolation level set to:

    REPEATABLE READ SCHEMA, READ UNCOMMITTED INSTANCES.

    ;autocommit off

    AUTOCOMMIT IS OFF

     

    SET TRANSACTION ISOLATION LEVEL 3;

     

    Isolation level set to:

    REPEATABLE READ SCHEMA, READ UNCOMMITTED INSTANCES.

    --creating a table

     

    CREATE TABLE isol3_tbl(host_year integer, nation_code char(3));

    CREATE UNIQUE INDEX on isol3_tbl(nation_code, host_year);

    INSERT INTO isol3_tbl VALUES (2008, 'AUS');

     

    COMMIT;

     

    --selecting records from the table

    SELECT * FROM isol3_tbl;

        host_year  nation_code

    ===================================

             2008  'AUS'

    INSERT INTO isol3_tbl VALUES (2004, 'AUS');

     

    INSERT INTO isol3_tbl VALUES (2000, 'NED');

     

    /* able to insert new rows even if tran 2 uncommitted */

     

    SELECT * FROM isol3_tbl;

        host_year  nation_code

    ===================================

             2008  'AUS'

             2004  'AUS'

             2000  'NED'

     

    /* dirty read may occur so that tran_2 can select new rows uncommitted by tran_1 */

    ROLLBACK;

     

    SELECT * FROM isol3_tbl;

        host_year  nation_code

    ===================================

             2008  'AUS'

     

    /* unrepeatable read may occur so that selected results are different */

    INSERT INTO isol3_tbl VALUES (1994, 'FRA');

     

    DELETE FROM isol3_tbl

    WHERE nation_code = 'AUS' and

    host_year=2008;

     

    /* able to delete rows even if tran 2 uncommitted */

     

    SELECT * FROM isol3_tbl;

        host_year  nation_code

    ===================================

             1994  'FRA'

    ALTER TABLE isol3_tbl

    ADD COLUMN gold INT;

     

    /* unable to alter the table schema until tran 2 committed */

     

    /* repeatable read is ensured while tran_1 is altering table schema */

     

    SELECT * FROM isol3_tbl;

        host_year  nation_code

    ===================================

             1994  'FRA'

    COMMIT;

    SELECT * FROM isol3_tbl;

    COMMIT;

    host_year  nation_code  gold

    ===================================

      1994  'FRA'           NULL

  • 相关阅读:
    关于嵌入式的技术竞争力
    CentOS7使用ISO镜像文件作为离线Yum源
    CentOS7搭建NAS文件共享存储
    CentOS7安装redis5.0.6
    Windows 10 2004及以后版本删除更新历史记录
    CentOS7手动安装MySQL 8
    python 使用lambda对dict排序
    单片机驱动-软件模拟I2C
    Linux-通过网络nfs和tftp在开发板上运行linux驱动程序
    体验一个前端视图层的mvvm的框架Knockoutjs(双向绑定,模板..)..解放您的双手,不再些那么多的dom操作..快速实现视图层数据与UI的交互处理
  • 原文地址:https://www.cnblogs.com/wang2650/p/5284250.html
Copyright © 2020-2023  润新知