MySQL 之 InnoDB 存储引擎浅析
InnoDB存储引擎在MySQL 5.5.8版本后是默认存储引擎,支持OLTP(在线事务处理)、行锁、外键、类似于Oracle的非锁定读、MVCC(多版本并发控制)balabalabala(此处省略一万字),此专栏专注一层层解开他的面纱。
_我走路带风
To save time is to lengthen life.
展开
-
MySQL 之 InnoDB引擎 Transaction(事务)
为什么需要事务? 假设有这样一个场景,用户进行订单支付这一操作,实现的过程中我们需要像订单表中添加一条记录,并且向支付记录表中添加一条记录,我们没有开启事务,假设我们第一条SQL语句执行成功了,但是第二条SQL语句由于某原因(可能系统崩溃什么的)执行失败了,那么我们的订单表插入了一条记录,但是我们的支付记录表没有添加记录,用户在支付的记录里面找不到自己的记录,但是却有订单,这就造成了数据...原创 2019-05-14 19:02:50 · 1044 阅读 · 0 评论 -
MySQL 之 InnoDB引擎 Change Buffer
Change BufferChange Buffer是一种特殊的数据结构,缓存对二级索引页面的更改并且这些页面不在Buffer Pool中。缓存的changes可能由 Insert 、Delete 和 Update的结果导致。稍后在页面被其他读取操作加载到Buffer Pool的时候合并。Buffer Pool的研究在我的这篇里有:https://blog.csdn.net/qq_3665...原创 2019-04-22 21:00:08 · 8643 阅读 · 13 评论 -
tpcc-mysql 压力测试
若是想知道数据库或集群在业务环境中的性能,就需要压测。TPC-CTPC-C是TPC组织发布的一个测试规范,用来模拟测试复杂的在线事务处理系统(OLTP)。它的测试结果包括每分钟事务数(tpmC),以及每事务的成本(Price/tpmC)。TPC-C测试相比sysbench更能模拟真实压力。tpcc-mysqltpcc-mysql是percona开发出来的针对mysql的基于...原创 2019-03-27 19:00:13 · 1437 阅读 · 0 评论 -
MySQL 之 Sysbench 简单基准测试
基准测试基准测试的简单定义就是对于某个系统的一种硬件性能测试,它没有模拟真实的业务场景,使用工具包自己生成的数据对系统进行一个测试,它更care系统的硬件能力,例如,测试数据库实际的读写性能等。而对真实逻辑较少关注。觉得我讲的简单定义不专业的话,这里维基百科是这样介绍的:SysbenchSysbench可以用于测量数据库的性能和测试数据库所在服务器的性能,它是My...原创 2019-03-30 01:45:01 · 414 阅读 · 0 评论