美文网首页
「转」MySQL表锁,以为自己懂了,结果一个答对的都没有

「转」MySQL表锁,以为自己懂了,结果一个答对的都没有

作者: 烧饼丨灬 | 来源:发表于2019-12-03 11:11 被阅读0次

关于MySQL的如下问题,你能准确的答出来么?

(1)和行锁相比,表锁有什么优势?

(2)频繁group by的业务,用MyISAM更好,还是InnoDB更好,为什么?

(3)某个session占有了表写锁,有另外N个session又要对表进行写操作,MySQL是如何处理的?

(4)某个session释放了表写锁,有另外N个session要对表进行写操作,同时还有M个session要对表进行读操作,谁先抢到锁,为什么?

(5)如何判断表锁是不是主要冲突点?

(6)如何高效的实现并发插入与查询,如何互斥?

(7)MyISAM什么情况下,数据文件会出现空洞?

(8)MyISAM,假如数据文件有空洞,新插入的数据是先补上空洞,还是插入在文件尾部?

但如果你花1分钟认真阅读了《频繁插入(insert)的业务,用什么存储引擎更合适?》,上述问题都是小case。

画外音:可以跳回原文去找答案。

从评论留言来看,不少同学的反馈是:

“…文章太容易了…”

“…MyISAM过时了…”

听了大家的反馈,我起初是抱歉,以为聊了一个大家都非常清楚的话题,浪费了大家的时间。

可是,从作业题的评论情况来看:

竟然没有一个同学答对!!!

画外音:可以跳回原文去看评论,很遗憾一个offer都发不出去。

当然,可能会有朋友说,你乱出题,你的答案靠谱么。这样,这次我直接贴MySQL官网的截图吧:

通常情况下,下列四种情况,表锁会优于行锁:

这些情况,用更粗粒度的锁,更易于应用程序调优,因为锁开销会比行锁更小。

画外音:英文不好,翻译不对的大家提出。

很多时候,我们以为自己懂了,其实懂的不透彻。

很多时候,思路比结论重要,MyISAM确实现在不是主流,但其中的技术思路,也值得我们学习。

相关文章

  • 「转」MySQL表锁,以为自己懂了,结果一个答对的都没有

    关于MySQL的如下问题,你能准确的答出来么? (1)和行锁相比,表锁有什么优势? (2)频繁group by的业...

  • MySQL锁表和解锁操作

    1、确定mysql有锁表的情况则使用以下命令查看锁表进程 2、杀掉查询结果中已经锁表的trx_mysql_thre...

  • MySQL锁篇

    1 MySQL锁介绍 2 MySQL表级锁 2.1 表级锁介绍 ​ 表级锁由SQL layer实现。M...

  • MySQL的锁机制

    mysql的锁机制 1、MySQL锁的基本介绍 MyISAM:MySQL的表级锁有两种模式:表共享读锁(Table...

  • Mysql 锁详解

    Mysql 锁详解一、前言二、MyISAM2.1 MyISAM表锁2.2 查询表级锁争用情况2.3 MySQL表级...

  • MySQL 锁表

    Linux System Environment MySQL锁表简介 MySQL锁表是禁止用户在数据库增加/删除/...

  • Mysql的锁

    MySql锁的分类 Mysql里的锁大致可以分为全局锁、表级锁和行锁三类。 全局锁 Mysql 增加全局锁的方法:...

  • MySQL 锁之二——表锁

    1、概述 MySQL 表级锁是以单个表为粒度的锁,InnoDB 和 MyISAM 引擎都支持表级锁; 2、表锁分类...

  • MySQL学习笔记-死锁产生原因和解决方法

    Mysql 锁类型 一、锁类型介绍: MySQL有三种锁的级别:页级、表级、行级。 表级锁:开销小,加锁快;不会出...

  • MySQL死锁产生原因和解决方法

    Mysql 锁类型 一、锁类型介绍: MySQL有三种锁的级别:页级、表级、行级。 表级锁:开销小,加锁快;不会出...

网友评论

      本文标题:「转」MySQL表锁,以为自己懂了,结果一个答对的都没有

      本文链接:https://www.haomeiwen.com/subject/bbhcgctx.html