1.2.1 读写锁

在处理并发读或者写时,可以通过实现一个由两种类型的锁组成锁系统来解决问题
共享锁(shared lock), 也叫读锁(read lock),排他锁(exclusive lock),也叫写锁(write lock)。
读锁:共享,互不阻塞,多个客户在同一时刻可以同时读取同一个资源而互不干扰
写锁:排他,会阻塞其他的写锁和读锁
写锁比读锁由更高的优先级,因此一个写锁请求可能会被插入到读锁队列的前面。

1.2.2 锁粒度

锁粒度也就是锁的范围,分为表锁行级锁

表锁:

MySQL最基本的锁策略,并且是开销最小的策略,它会锁定整张表,一个用户在对表进行写操作(insert、delete、update等)前,需要首先获得写锁,这回阻塞其他用户对该张表的所有读写操作。在特定的场景中,表锁也可能有良好的性能。例如READ LOCAL表锁支持某些类型的并发写操作。
尽管存储引擎可以管理自己的锁,MySQL本身还是会使用各种有效的表锁来实现不同的目的。礼物,服务器会为诸如ALTER TABLE之类的语句使用表锁,而忽略引擎的锁机制

行级锁

行级锁可以最大成都第支持并发处理,同时也带来了最大的锁开销。在InnoDB和XtraDB以及其他一些存储引擎中实现了行级锁。行级锁只在存储引擎中实现,MySQL服务器层没有实现。

高性能MySQL(第3版)笔记 1.2 并发控制相关推荐

  1. 《高性能MySQL 第四版》正式上市

    十年经典再更新 时隔十年,<高性能MySQL>再次出版,这是该系列的第四个版本.过去十年,<高性能MySQL 第三版>已经成为除了文档之外,MySQL相关开发者.DBA等从业者 ...

  2. MySQL各种优化基于《高性能MySQL第三版》

    [TOC] MySQL各种优化 查询优化 查询优化器模块 查询优化器的任务是发现执行 SQL 查询的最佳方案.大多数查询优化器,要么基于规则.要么基于成本. 大多数查询优化器,包含 MySQL 的查询 ...

  3. 高性能mysql第三版读书笔记

    第1章 MySQL 架构与历史 MySQL最重要.最与众不同的特性是它的存储引擎架构,这种架构的设计将查询处理(Query Processing)以及其他系统任务(Server Task)和数据的存储 ...

  4. 《高性能MySQL(第3版)》摘要——索引篇

    简介 索引是存储引擎用于快速找到记录的一种数据结构. 索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要.当数据量较少且负载较低时,不恰当的索引对性能的影响可能还不明 ...

  5. 憋个大招!高性能mysql第四版pdf在线阅读

    纯手打"RocketMQ笔记" 第一节:RocketMQ介绍 1.1 核心概念(主题.生产者.消费者.消息) 1.2 RocketMQ的设计理念和目标(设计理念.设计目标) 第二节 ...

  6. 高性能mysql总结笔记_高性能MySQL第三本笔记总结(上)

    无论何时,只要有多个查询需要在同一个时刻修改数据时,就会有并发问题.MySql主要在服务器层与存储引擎层进行并发控制. 假设数据库中国一张邮箱表,每个邮件都是一条记录.如果某个客户正在读取邮箱,同时其 ...

  7. mysql高性能 pdf_高性能MySQL(第3版)(High Performance MySQL) pdf扫描版

    <高性能mysql(第3版)>是mysql 领域的经典之作,拥有广泛的影响力.第3 版更新了大量的内容,不但涵盖了最新mysql 5.5版本的新特性,也讲述了关于固态盘.高可扩展性设计和云 ...

  8. <高性能Mysql> 第四版 有用知识点

    高性能Mysql第四版 阅读小记 事务 优化器 MySQL I/O 关于主键自增 自增键空间 自增上锁 自增也会上锁,如果大数据量插入或者并发插入,会有性能问题: 关于顺序主键的扩展 关于存储(数据类 ...

  9. 高性能MySQL(第2版)中文版

    [高性能MySQL(第2版)中文版].施瓦茨.扫描版施瓦茨 编著的<高性能MysQL(第2版)>是MySQL领域的典之作,拥有广泛的影响力.第3版更新了大量的内容,不但涵盖了新MySQL ...

  10. 《高性能MySQL》の复制

    2019独角兽企业重金招聘Python工程师标准>>> 0x00前言 本书讲述到定稿前的MySQL5.5版,所以下面内容的适用范围止步于MySQL5.5.本文仅仅强调书中讲述的重中之 ...

最新文章

  1. Kali Linux 2017中Scapy运行bug解决
  2. 免费数学神器有了手机版,再复杂的公式,拍照就能转成LaTeX
  3. Linux服务器配置PHP文件下载,出现中文乱码问题,下载出错
  4. Python字典(dict)与列表(list)与数组(nbarray)详解
  5. mysql插入性能测试
  6. 门店定位怎么在地图上显示_怎么在百度地图上面显示自己店面的地址,
  7. 泰斯花粉阻隔剂 怎么使用
  8. bzoj2599 [IOI2011]Race
  9. MATLAB画qpsk的矢量图,matlab仿真QPSK.doc
  10. SQLServer 启动问题,服务器错误代码126 解决办法
  11. java超链接颜色_Java技巧(一):会变色的超链接
  12. linux s5pc100串口驱动,FS_S5PC100平台linux摄像头驱动开发详解
  13. 移动应用,让人激动的这些年
  14. 什么是Spring、Spring的优点
  15. 光电子学教材 马养武
  16. 简要分析“区块链+物联网”有哪些坎?
  17. OpenStack服务组件01--keystone
  18. 线性稳压器和开关稳压器比较
  19. 程序员应具备的素质-拨乱反正篇
  20. 10个3D Max渲染技巧,90%零基础的人最容易被忽略

热门文章

  1. 【二维码图像矫正增强】基于MATLAB的二维码图像矫正增强处理仿真
  2. 小型电梯尺寸_家用小型电梯-美丽与小尺寸的完美融合
  3. Oracle 10g 的后台进程..
  4. 联想hx系列服务器,联想ThinkAgile HX系列
  5. SpringBoot集成Redis 启动报错
  6. lombok 基础注解之 @NonNull
  7. if- 条件判断———if语句的嵌套
  8. c语言程序编译输出乱码,解决VC++编译程序出现中文乱码的问题
  9. eFuse 和 OTP 的区别
  10. Linux设备驱动程序学习(13)