zoukankan      html  css  js  c++  java
  • 锁模块

    锁模块的常见问题

    1、MyISAM和InnoDB关于锁方面的区别是什么?

    2、数据库事务的四大特性?

    3、事务隔离级别以及各级别下的并发访问问题?

    4、InnoDB可重复读隔离级别下如何避免幻读?

    5、RC、RR级别下的InnoDB的非阻塞读如何实现?

    1、MyISAM和InnoDB关于锁方面的区别是什么?

    MyISAM默认用的是表级锁,不支持行级锁

    InnoDB默认用的是行级锁,也支持表级锁

    2、数据库事务的四大特性?

    ACID

    原子性(Atomic)

    一致性(Consistency)

    隔离性(Isolation)

    持久性(Durability)

    3、事务隔离级别以及各级别下的并发访问问题?

    事务并发访问引起的问题以及如何避免

    1) 更新丢失----mysql所有事务隔离级别在数据库层面上均可避免

    如下图,对同一个账号进行操作

     2) 脏读----READ-COMMITED 事务隔离级别以上可避免

    查看全局和当前session的事务隔离级别
    SELECT @@GLOBAL.tx_isolation, @@tx_isolation;

     查询事务的隔离级别

    SELECT @@tx_isolation;

    设置事务的隔离级别

    SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

     3) 不可重复读----REPEATABLE-READ 事务隔离级别以上可避免

    4)幻读----SERIALIZABLE 事务隔离级别可避免

    4、InnoDB可重复读隔离级别下如何避免幻读?

    表象: 快照读(非阻塞读) -- 伪MVCC

    内在:next-key锁(行锁+ gap锁)

    当前读和快照读

    当前读: select... lock in share mode, select ... for update

         update, delete, insert

    快照读:不加锁的非阻塞读, select

    5、RC、RR级别下的InnoDB的非阻塞读如何实现?

  • 相关阅读:
    iOS多线程与网络开发之NSURLCache
    NEFU 117-素数个数的位数(素数定理)
    UISegmentedControl 的使用
    C++使用ADO存取图片
    王立平-- Swift
    浮生猫绘——落入平一的精灵
    BZOJ 1692: [Usaco2007 Dec]队列变换 [后缀数组 贪心]
    POJ2774 Long Long Message [后缀数组]
    BZOJ 2119: 股市的预测 [后缀数组 ST表]
    BZOJ 1717: [Usaco2006 Dec]Milk Patterns 产奶的模式 [后缀数组]
  • 原文地址:https://www.cnblogs.com/linlf03/p/12234283.html
Copyright © 2011-2022 走看看