1. 了解数据库的锁吗?
      锁机制用于管理对共享资源的并发访问
      1. 锁的类型
        1. 共享锁 S Lock
          1. 允许事务读一行数据
        2. 排它锁 X Lock
          1. 允许事务删除或更新一条数据
          2. 与任何锁不兼容
      2. 锁的粒度
        InnoDB支持多粒度锁定,允许事务在行级上的锁和表级上的锁同时存在
        1. 意向锁
          1. 将锁定的对象分为多个层次,即在更细的粒度上加锁
          2. 意向共享锁 IS
          3. 意向排它锁 IX
      3. 锁的算法
        1. Record Lock
          1. 单个行记录上的锁
        2. Gap Lock
          1. 间隙锁,锁定一个范围但不包含本身
        3. Next-Key Lock
          1. 锁定一个范围且记录本身
      4. 死锁
        1. 两个或以上的事务执行过程中因争夺资源互相等待
        2. 解决死锁
          1. 超时
          2. 等待图 wait-for graph
            1. 锁的信息链表
            2. 事务等待链表
      5. 锁的升级
        1. 指将当前锁的粒度降低
    2. 介绍一下间隙锁
      1. 为了阻止多个事务将记录插入到同一范围,导致幻读
    3. InnoDB中行级锁怎么实现
      1. 通过给索引上的索引项加锁
      2. 只有通过索引条件检索数据才是用行级锁