`

mysql分布式思维(七)- 锁机制优化

阅读更多

一、锁机制简介
  1.行级锁(row-level)
     操作时,锁记录,颗粒度最小,并发好,锁资源消耗大。
     主要针对innodb存储引擎
  2.表级锁 (table-level)
     锁表,并发差,锁资源消耗小。
     表级锁主要针对myisam存储引擎
  3.页级锁 (page-level)
     介于两者之间

二、锁的分析
1.表级锁分析
    读锁定,写锁定
    四个队列  Current read-lock queue(lock --->read)
                     Pending read-lock queue(lock --->read_wait)
       current write-lock queue(lock--->write)
       pending write-lock queue(lock --->write_wait)
   锁定类型还有很多
         参见图

  案例分析
           read锁/read local锁等
    write锁/write_allow_read等
2. 行级锁分析
     主要是innodb存储引擎支持。可以直接通过事务来支持。

     注意:无索引行锁升级为表锁的情况
                间隙锁带来的插入问题。
  使用共同索引不同数据也会阻塞
  也会有死锁的情况:
     session a:
      update t1 set id= 110 where id = 11;
    此时
      session b
        update t2 set id = 210 where id = 21

     然后:
         session a --->update t2 set id = 2100 where id = 21
         session b--->update t1 set id = 1000 where id = 11;
    

 

   

分享到:
评论

相关推荐

    mysql分布式思维(十一)- MySQL Cluster

    MySQL Cluster是一种高可用、高性能的分布式数据库解决方案,它在MySQL服务器的基础上增加了数据的冗余和分布处理能力。本文将深入探讨MySQL Cluster的核心概念、架构、工作原理以及如何使用。 一、MySQL Cluster...

    MySQL高级_思维导图

    本资料"MySQL高级_思维导图.pdf"深入探讨了MySQL的一些高级主题,帮助读者理解其核心机制和优化策略。以下是根据提供的思维导图内容展开的详细知识点: 1. **MySQL的架构介绍** MySQL通常采用客户端/服务器架构,...

    Java思维导图xmind文件+导出图片

    基于分布式架构下分布式锁的解决方案实战 分布式架构实现分布式定时调度 分布式架构-中间件 分布式消息通信 消息中间件在分布式架构中的应用 ActiveMQ ActiveMQ高可用集群企业及部署方案 ActiveMQ P2P及PUB/...

    周阳Mysql高级脑图完整版,希望对你有用

    - 锁机制:共享锁(读锁)、排他锁(写锁),以及死锁的概念和解决方法。 - 事务隔离级别:读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)、可重复读(REPEATABLE READ)和串行化(SERIALIZABLE)。 ...

    尚硅谷周阳老师的高级MySQL思维导图

    周阳老师的课程旨在帮助学员掌握更深层次的MySQL技术,提升数据库管理与优化的能力。 1. **SQL查询优化** - **索引优化**:理解B+树结构,学习如何创建正确类型的索引(主键、唯一、全文、复合索引),并避免全表...

    尚硅谷mysql高级+尚硅谷springcloud思维导图.mmap

    【尚硅谷mysql高级】: MySQL是一款广泛使用的开源关系型数据库管理系统,它以其高效、稳定、易用的特点在众多企业中占据重要地位。尚硅谷周阳老师的MySQL高级课程深入讲解了MySQL的高级特性与最佳实践,旨在帮助...

    【白雪红叶】JAVA学习技术栈梳理思维导图.xmind

    分布式锁 分区排队 一致性 一致性算法 paxos zab nwr raft gossip 柔性事务(TCC) 一致性原理 CAP BASE 中间件 数据库 mysql 存储引擎 索引 锁 oracle db2 缓存 redis 数据结构 持久 ...

    java 高级架构进阶学习

    - **MySQL优化**:分享MySQL性能调优技巧,包括索引优化、查询语句改进等。 - **JVM调优**:探讨JVM内存模型、垃圾回收机制,并提供实际案例分析。 - **高并发处理**:介绍双十一技术复盘中的高并发秒杀系统设计...

    15-3中级-数据库系统工程师教程(第3版)(目录结构图和思维导图)).rar

    5. 数据库事务与并发控制:理解事务的概念,其ACID(原子性、一致性、隔离性和持久性)属性,以及并发操作可能导致的问题和解决策略,如死锁和锁机制。 6. 数据库恢复与备份:学习如何在系统故障或灾难情况下恢复...

    java2018面试宝典

    - MySQL部分参考了《高性能MySQL》,需要掌握数据库查询优化、索引使用等知识。 **Java**: - Java基础:考察对Java语言本身的掌握,包括基本语法、异常处理、集合框架等。 - Java虚拟机(JVM):了解JVM内部机制,...

    字节跳动21届秋招全岗位面经集合.pdf

    - 关系型数据库如MySQL的索引原理和优化; - NoSQL数据库如Redis的数据类型及应用场景; - 分布式系统设计问题,如如何设置秒杀系统和银行系统,以及可能遇到的问题; - 数据库选型的考量,比如为什么项目中使用...

    Java工程师美团面试题.pdf

    根据提供的信息,我们可以总结出以下相关的IT知识点: ### 一、SOA与微服务 ...- MySQL数据库开发经验及性能优化。 - 分布式系统开发经验。 - 强烈的责任心和技术热情。 - 优秀的逻辑思维和问题解决能力。

    JAVA进阶架构思维导图.rar

    10. **分布式技术**: 掌握分布式缓存(如Redis)、消息队列(如RabbitMQ、Kafka)、任务调度(如Quartz、Spring Task)等,以及分布式服务治理(如Dubbo、Zookeeper)。 11. **容器化与DevOps**: 学习Docker容器化...

    JavaEE求职简历-姓名-JAVA开发工程师.doc

    - **数据库**:熟练使用MySQL,并懂得数据库优化,如SQL语句编写。 - **缓存与搜索引擎**:了解Redis和Solr,Redis常用于高速缓存,Solr则用于全文搜索。 - **安全框架**:熟悉Shiro、Spring Security和CAS,这些...

    包括面试高频算法、系统设计、计算机网络、操作系统、C++、Java、golang、MySQL、Redis、K8s、消息队列等常见

    这个压缩包文件涵盖了多个关键领域的知识,包括但不限于算法、系统设计、计算机网络、操作系统、编程语言(如C++、Java、Golang)以及数据库和分布式技术(如MySQL、Redis、Kubernetes,以及消息队列)。下面将对...

    最全的BAT面试题目整理

    - 掌握SQL语言,能够编写复杂的SQL查询语句,理解事务隔离级别和锁机制。 - 理解数据库的索引原理,知道如何优化数据库查询性能。 5. 网络知识: - 掌握计算机网络基础,理解TCP/IP协议栈、HTTP/HTTPS协议、DNS...

    Uber平台架构设计介绍.docx

    总而言之,Uber平台架构的设计是一个不断迭代和优化的过程,它从最初的简单架构演变为分布式、高可用的系统,通过合理的服务拆分、负载均衡、错误处理和数据库管理,实现了高效、可靠的打车服务。这一过程充分体现了...

    2024年Java最新学习路线,本文档整理了学习Java的七个阶段

    - **性能优化**:深入学习如何进行性能调优,包括代码层面的优化和系统级别的优化技巧。 #### 第七阶段:企业级项目实战 - **项目实践**:参与实际的项目开发,将前面学到的知识应用于实践,通过团队合作完成一个...

    Java 进阶之路,互联网一线大厂面试真题解析、经验分享.zip

    10. **分布式系统**:分布式缓存、分布式锁、分布式事务等概念,以及如何在实际项目中应用,都是面试中可能会涉及的话题。 通过深入研究“JavaAdvanced-master”中的资源,你可以进一步深化对这些知识点的理解,...

Global site tag (gtag.js) - Google Analytics