第 13 章 多版本并发控制

13.1、什么是 MVCC MVCC(Multiversion Concurrency Control),多版本并发控制。顾名思义,MVCC 是通过数据行的多个版本管理来实现数据库的 并发控制。这项技术使得在 InnoDB 的事务隔离级别下执行 一致性读 操...

第 12 章 锁

12.1、概述 锁是计算机协调多个进程或线程 并发访问某一资源 的机制。在程序开发中会存在多线程同步的问题,当多个线程并发访问某个数据的时候,尤其是针对一些敏感的数据(比如订单、金额等),我们就需要保证这...

第 11 章 MySQL 事务日志

事务有 4 种特性:原子性、一致性、隔离性和持久性。那么事务的四种特性到底是基于什么机制实现呢? 事务的隔离性由 锁机制 实现。 而事务的原子性、一致性和持久性由事务的 redo 日志和 undo 日志来保证。 RED...

第 10 章 事务基础知识

10.1、数据库事务概述 10.1.1、存储引擎支持情况 SHOW ENGINES 命令来查看当前 MySQL 支持的存储引擎都有哪些,以及这些存储引擎是否支持事务。 mysql> show engines; +--------------------+---------+------...

第 9 章 数据库其它调优策略

9.1、数据库调优的措施 9.1.1、调优的目标 尽可能节省系统资源,以便系统可以提供更大负荷的服务。(吞吐量更大) 合理的结构设计和参数调整,以提高用户操作响应的速度。(响应速度更快) 减少系统的瓶颈,提高...

第 8 章 数据库的设计规范

8.1、为什么需要数据库设计 我们在设计数据库的时候要考虑很多问题。比如说: 用户都需要什么数据?需要在数据表中保存哪些数据? 如何保证数据表中数据的正确性,当插入、删除、更新的时候该进行怎样的约束检查...

第 7 章 索引优化与查询优化

都有哪些维度可以进行数据库调优?简言之: 索引失效、没有充分利用到索引 -> 建立索引。 关联查询太多 JOIN(设计缺陷或不得已的需求)-> SQL 优化。 服务器调优及各个参数设置(缓冲、线程数等)-> ...

第 6 章 Mysql 性能分析

在数据库调优中,我们的目标是 响应时间更快, 吞吐量更大。利用宏观的监控工具和微观的日志分析可以帮我们快速找到调优的思路和方式。 6.1、数据库服务器的优化步骤 当我们遇到数据库调优问题的时候,该如何思考...

第 5 章 Mysql 索引的创建与设计

5.1、索引的类型 MySQL 的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。 从功能逻辑上说,索引主要有 4 种,分别是普通索引、唯一索引、主键索引、全文索引。 按照物理实现方式,索...

第 4 章 Mysql InnoDB 数据存储结构

4.1、数据库的存储结构:页 索引结构给我们提供了高效的索引方式,不过索引信息和数据记录都是保存在文件上的,确切说是存储在页结构中。另一方面,索引是在存储引擎中实现的,MySQL 服务器上的存储引擎负责对表...