MySQL支持哪三种级别的锁

参考答案

MySQL支持这三种级别的锁:页级、表级、行级。

  • 页级的典型代表引擎为BDB。
  • 表级的典型代表引擎为MyISAM,MEMORY以及很久以前的ISAM。
  • 行级的典型代表引擎为INNODB。

 

在实际应用中,使用最多的是行锁。

1.  行级锁

  • 当很多连接分别进行不同的查询时减小LOCK状态。
  • 如果出现异常,可以减少数据的丢失。因为一次可以只回滚一行或者几行少量的数据。
  • 比页级锁和表级锁要占用更多的内存。
  • 进行查询时比页级锁和表级锁需要的I/O要多,所以我们经常把行级锁用在写操作而不是读操作。
  • 容易出现死锁。

2. 写锁

  • 如果表没有加锁,要对其加写锁定。
  • 否则,把请求放入写锁队列中。

3.  读锁

  • 如果表没有加写锁,要加一个读锁。
  • 否则,把请求放到读锁队列中。
    当然我们可以分别用low_priority 以及high_priority在写和读操作上来改变这些行为。

 

以上,是MySQL面试题【MySQL支持哪三种级别的锁】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧