当前位置:   article > 正文

mysql 高级面试题_mysql面试中高级

mysql面试中高级

1.mysql 中有几种锁?

以 mysql 中 innodb 存储引擎为例。总体来说 innodb 共有七种类型的锁:

  1. 自增锁
  2. 共享锁/排它锁
  3. 意向锁
  4. 插入意向锁
  5. 记录锁
  6. 间隙锁
  7. 临键锁

自增锁:表级别,专门针对事务插入自增id的列,如果插入位置冲突,多个事务会阻塞,以保证一致性。
共享/排他锁:行级锁,也是一个强锁。
意向锁:表级别,弱锁,仅仅表明意向。
插入意向锁:针对inser的,如果插入位置不冲突,多个事务不会阻塞,以提高插入并发。
记录锁:索引记录上加锁,对索引记录实施互斥,以保证数据一致性。
间隙锁:封锁索引记录中间的间隙,在RR下有效。防止间隔中被其他事务插入。
林键锁:封锁索引记录,以及索引记录中间额间隙,在RR下有效,防止幻读。

2.mysql 的隔离级别?

mysql 中一共有四中隔离级别:

  1. 读未提交
    在该隔离级别中,所有事务都可以看到其他未提交事务的执行结果。
    该隔离级别会出现的问题是:脏读,即读取到了未提交的数据。

  2. 读取提交
    一个事务只能看见已经提交事务所做的改变。
    该隔离级别会出现的问题是:不可重复读,即不可重复读意味着我们在同一个事务中执行完全相同的select语句时可能看到不一样的结果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/979427
推荐阅读
相关标签
  

闽ICP备14008679号