这本书是 17 年初印刷的,其中内容至少是 16 年写的了,是基于 5.6 版本的(现在 MySQL 已经出 5.7 了,声称性能又大幅提高)。
我本身是 17 年中买的书,第一次 17 年精读了近 2 个月(423 页),第二次今年 3 月读了近 2 个礼拜。
一般来说,业务测试,自动化测试,测试开发是基本不会怎么接触数据库的,但性能测试不这样。
水平有限难免有错误,如看到错误还望告知

本文目标

提高测试在参与技术讨论时的地位,为碾压开发做技术储备。
现在网上对于 MySQL 的文章很多很多,大家也都能看个大概,我这里只说书上的关键知识点。
这里不解释那么详细,详细还是直接买书来读。

MySQL 架构图


这图是个大概的意思,我们要知道:

关键名词

共享表空间和独立表空间(tablespace)

脏页

内存页中的数据是最新的,还没来得及刷新到磁盘上。

聚集索引,非聚集索引(辅助索引,覆盖索引),联合索引,平衡二叉树,B+ 树

Cardinality 值

索引提示(INDEX HIT)

binlog

触发器与约束(外键约束)

视图(物化视图)

MySQL 不直接支持物化视图,Oracle 支持,SQL Server 叫索引视图。

分区表

全文检索(倒排索引)

锁,死锁

多版本并发控制(Muliti Version Concurrency Control,MVCC)

事务

关键技术

插入缓冲(Insert Buffer)

两次写(doublewrite)

自适应哈希索引(AHI)

异步 IO(AIO)

刷新邻接页

Online DDL

Multi-Range Read(MRR)

Index Condition Pushdown(ICP)

redo(重做日志)

undo(回滚日志)

书中金句


↙↙↙阅读原文可查看相关链接,并与作者交流