Skip to content
目录概览

MySQL 从锁的粒度划分为哪几种锁?

  • 锁类型

    • 行锁 行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁。
    • 表锁 表级锁是MySQL中锁定粒度最大的一种锁,表示对当前操作的整张表加锁,它实现简单,资源消耗较少,被大部分MySQL引擎支持
    • 页锁 页级锁是MySQL中锁定粒度介于行级锁和表级锁中间的一种锁
  • 锁的特点

    • 表级锁
      • 开销小
      • 加锁快
      • 不会出现死锁
      • 锁定粒度大
      • 发生锁冲突的概率最高
      • 并发量最低。
    • 行级锁
      • 开销大
      • 加锁慢
      • 会出现死锁
      • 锁粒度小
      • 发生锁冲突的概率小
      • 并发度最高。
    • 页锁
      • 开销界于表锁和行锁之间
      • 会出现死锁
      • 锁定粒度界于表锁和行锁之间
      • 并发度一般
  • 引擎支持

    • MyISAM 支持表锁

    • InnoDB

      • 支持表锁
      • 行锁

      默认为行锁。