IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    数据库并发控制机制的理解

    Crazyant发表于 2015-05-27 07:48:34
    love 0

    隔离级别相当于数据库实现的一套现有的机制,我们直接可以复用;但对于特殊需求,我们可以自己使用锁机制来实现,其实我们自己就可以使用锁机制,实现一套隔离级别;

    锁机制只是隔离性级别的一种实现;我的感触是,类似封装了函数,数据库隔离性级别,是帮我们实现了几个线程的并发控制方法。但是一些特殊的并发控制,我们可以自己使用锁机制来实现;

    QQ-20150527190408

    1、如果事务A设置为read uncommitted,那么事务B做了update还未提交,事务A能够读取到事务B更新的数据,事务B如果回滚,事务A则看到事务B回滚后的数据;
    2、如果事务A设置为read committed,那么事务B做了update并且没有提交,事务A是读取不到事务B更新的数据的;
    3、如果事务A设置为repeatable read,那么事务B做了update并提交,事务A仍然读取不到,事务B即使多次commit,事务A全都读取不到;
    4、如果事务A设置为serializable,如果事务B已经开始运行并做了更新,那么事务A的任何操作得一直等待;如果B没做更新,则A还是能读取的;

    以上四种级别,事务A如果正在更新一条数据,事务B如果要更新同一条数据,则会等待直到超时,因为事务A更新这条数据时加上了排它锁;

    您可能也喜欢:

    有了事务为什么还需要乐观锁和悲观锁

    MySQL 查看数据库中每个表占用的空间大小

    MySQL数据导入导出实例教程手册

    mysql-修改root密码的方法

    MySQL一条语句更新多个表的方法
    无觅


沪ICP备19023445号-2号
友情链接