mysql锁的面试题「建议收藏」

mysql锁的面试题「建议收藏」1.Mysql中有哪几种锁?1.表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。2.行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。3.页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。2.锁的优化策略1.读写分离2.分段加锁3.减少锁持有…

大家好,又见面了,我是你们的朋友全栈君。

1.Mysql中有哪几种锁?

1.表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。

2.行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。

3. 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。

 

2.锁的优化策略

1. 读写分离

2. 分段加锁

3. 减少锁持有的时间

4. 多个线程尽量以相同的顺序去获取资源

不能将锁的粒度过于细化,不然可能会出现线程的加锁和释放次数过多,反而效率不如一次加一把大锁。

3.什么是锁?

答:数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。

加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。

基本锁类型:锁包括行级锁和表级锁

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143961.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • shell expect使用方法「建议收藏」

    shell expect使用方法「建议收藏」Expect的作者DonLibes在1990年开始编写Expect时对Expect做有如下定义:Expect是一个用来实现自动交互功能的软件套件(Expect[isa]softwaresuiteforautomatinginteractivetools)。使用它系统管理员的可以创建脚本用来实现对命令或程序提供输入,而这些命令和程序是期望从终端(terminal)得到输入,一般来说

    2025年5月25日
    1
  • EM算法 实例讲解「建议收藏」

    EM算法 实例讲解「建议收藏」第一次接触EM算法,是在完成半隐马尔科夫算法大作业时。我先在网上下载了两份Baum-Welch算法的代码,通过复制粘贴,修修补补,用java实现了HMM算法(应用是韦小宝掷两种骰子的问题)。然后,参考有关半隐马尔科夫算法的论文,照着论文中的公式修改隐马尔科夫算法,完成了大作业。现在回想起来,就隐隐约约记得有一大堆公式。最近,我看到一篇很好的文章,对EM算法的计算有了进一步的了解,文章链接为http

    2022年6月22日
    31
  • 以下哪些字符可以用于定义Python标识符_if可以作为用户标识符吗

    以下哪些字符可以用于定义Python标识符_if可以作为用户标识符吗1.有效的Python标识符规则:(1)长度是任意长度;(2)标识符不能具有相同的名称作为关键词;(3)在Python的版本,用一个ASCII字母或下划线标识符开始,并且可以紧随其后的是字母,数字,下划线;在Python中,标识符ASCII字母、下划线和大多数非英语语言字母,只要用Unicode编码的字母可以作为主要人物,和随后的字符可以是任何主角,或任何的字符进行技术改造,包括任何在Unico…

    2025年10月17日
    2
  • PyCharm vs Spyder:两个Python IDE的快速比较

    PyCharm vs Spyder:两个Python IDE的快速比较Ifyouhavefollowedmyblogyoumayhavenoticedthatalotoffocushavebeenputonhowtolearnprogramming(particularlyinPython).IhavealsowrittenaboutIntegratedDevelopmentEnvironments…

    2022年8月29日
    8
  • 微服务架构的分布式事务解决方案「建议收藏」

    微服务架构的分布式事务解决方案

    2022年3月13日
    87
  • 清晰的java代码初学者,一个不错的 java初学者手册

    清晰的java代码初学者,一个不错的 java初学者手册刚刚在网上看到有人在讨论java应注意的技巧已经整理好了本人太菜遇见这种菜鸟口粮自然不会放过不过也感觉其中有些不是特别的清楚不过作为参考至于是否准确工作中验证吧(1)使用Integer.valueOf()代替newInteger();(2)if(result.size()>0)returntrue;returnfalse;可以优化为returnres…

    2022年7月8日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号