My SQL
小于 1 分钟
目录
01 Random Mysql Notes
02 Deep Understand Mysql
- 01 天天写CRUD,你知道你的系统是如何跟MySQL打交道的吗?02 为了执行SQL语句,你知道MySQL用了什么样的架构设计吗?03 用一次数据更新流程,初步了解InnoDB存储引擎的架构设计04 借着更新语句在InnoDB存储引擎中的执行流程,聊聊binlog是什么?05 生产经验:真实生产环境下的数据库机器配置如何规划?06 生产经验:互联网公司的生产环境数据库是如何进行性能测试的?07 生产经验:如何对生产环境中的数据库进行360度无死角压测?08 生产经验:在数据库的压测过程中,如何360度无死角观察机器性能?09 生产经验:如何为生产环境中的数据库部署监控系统?10 生产经验:如何为数据库的监控系统部署可视化报表系统11 从数据的增删改开始讲起,回顾一下Buffer Pool在数据库里的地位12 Buffer Pool这个内存数据结构到底长个什么样子?13 从磁盘读取数据页到Buffer Pool的时候,free链表有什么用?14 当我们更新Buffer Pool中的数据时,flush链表有什么用?15 当Buffer Pool中的缓存页不够的时候,如何基于LRU算法淘汰部分缓存?16 简单的LRU链表在Buffer Pool实际运行中,可能导致哪些问题?17 MySQL是如何基于冷热数据分离的方案,来优化LRU算法的?18 基于冷热数据分离方案优化后的LRU链表,是如何解决之前的问题的?19 MySQL是如何将LRU链表的使用性能优化到极致的?20 对于LRU链表中尾部的缓存页,是如何淘汰他们刷入磁盘的?21 生产经验:如何通过多个Buffer Pool来优化数据库的并发性能?22 生产经验:如何通过chunk来支持数据库运行期间的Buffer Pool动态调整?23 生产经验:在生产环境中,如何基于机器配置来合理设置Buffer Pool?24 我们写入数据库的一行数据,在磁盘上是怎么存储的?25 对于VARCHAR这种变长字段,在磁盘上到底是如何存储的?26 一行数据中的多个NULL字段值在磁盘上怎么存储?27 磁盘文件中, 40个bit位的数据头以及真实数据是如何存储的?28 我们每一行的实际数据在磁盘上是如何存储的?29 理解数据在磁盘上的物理存储之后,聊聊行溢出是什么东西?30 用于存放磁盘上的多行数据的数据页到底长个什么样子?31 表空间以及划分多个数据页的数据区,又是什么概念?32 一文总结初步了解到的MySQL存储模型以及数据读写机制33 MySQL数据库的日志顺序读写以及数据文件随机读写的原理参数总结
- 109 案例实战:千万级用户场景下的运营系统SQL调优(1)110 案例实战:千万级用户场景下的运营系统SQL调优(2)111 案例实战:千万级用户场景下的运营系统SQL调优(3)112 案例实战:亿级数据量商品系统的SQL调优实战(1)113 案例实战:亿级数据量商品系统的SQL调优实战(2)114 案例实战:亿级数据量商品系统的SQL调优实战(3)115 案例实战:数十亿数量级评论系统的SQL调优实战116 案例实战:千万级数据删除导致的慢查询优化实践(1)117 案例实战:千万级数据删除导致的慢查询优化实践(2)118 我们为什么要搭建一套MySQL的主从复制架构(1)119 我们为什么要搭建一套MySQL的主从复制架构(2)120 案例实战:千万级数据删除导致的慢查询优化实践(3)121 如何为MySQL搭建一套主从复制架构(1)122 如何为MySQL搭建一套主从复制架构(2)123 如何为MySQL搭建一套主从复制架构(3)124 主从复制架构中的数据延迟问题,应该如何解决?125 数据库高可用:基于主从复制实现故障转移(1)126 数据库高可用:基于主从复制实现故障转移(2)127 数据库高可用:基于主从复制实现故障转移(3)128 案例实战:大型电商网站的上亿数据量的用户表如何进行水平拆分?129 案例实战:一线电商公司的订单系统是如何进行数据库设计的?130 案例实战:下一个难题,如果需要进行垮库的分页操作,应该怎么来做?131 案例实战:当分库分表技术方案运行几年过后,再次进行扩容应该怎么做?132 专栏总结
- 34 生产经验:Linux操作系统的存储系统软件层原理剖析以及IO调度优化原理35 生产经验:数据库服务器使用的RAID存储架构初步介绍36 生产经验:数据库服务器上的RAID存储架构的电池充放电原理37 案例实战:RAID锂电池充放电导致的MySQL数据库性能抖动的优化38 案例实战:数据库无法连接故障的定位,Too many connections39 案例实战:如何解决经典的Too many connections故障?背后原理是什么40 重新回顾redo日志对于事务提交后,数据绝对不会丢失的意义41 在Buffer Pool执行完增删改之后,写入日志文件的redo log长什么样?42 redo log是直接一条一条写入文件的吗?非也,揭秘redo log block!43 直接强行把redo log写入磁盘?非也,揭秘redo log buffer!44 redo log buffer中的缓冲日志,到底什么时候可以写入磁盘?45 如果事务执行到一半要回滚怎么办?再探undo log回滚日志原理!46 一起来看看INSRET语句的undo log回滚日志长什么样?47 MySQL运行时多个事务同时执行是什么场景?48 多个事务并发更新以及查询数据,为什么会有脏写和脏读的问题?49 一个事务多次查询一条数据读到的都是不同的值,这就是不可重复读?50 听起来很恐怖的数据库幻读,到底是个什么奇葩问题?51 SQL标准中对事务的4个隔离级别,都是如何规定的呢?52 MySQL是如何支持4种事务隔离级别的?Spring事务注解是如何设置的?53 理解MVCC机制的前奏:undo log版本链是个什么东西?54 基于undo log多版本链条实现的ReadView机制,到底是什么?55 Read Committed隔离级别是如何基于ReadView机制实现的?56 MySQL最牛的RR隔离级别,是如何基于ReadView机制实现的?57 停一停脚步:梳理一下数据库的多事务并发运行的隔离机制58 多个事务更新同一行数据时,是如何加锁避免脏写的?59 对MySQL锁机制再深入一步,共享锁和独占锁到底是什么?60 在数据库里,哪些操作会导致在表级别加锁呢?61 表锁和行锁互相之间的关系以及互斥规则是什么呢?62 案例实战:线上数据库不确定性的性能抖动优化实践(上)63 案例实战:线上数据库莫名其妙的随机性能抖动优化(下)MySQL参数用法总结(二)
- 100 透彻研究通过explain命令得到的SQL执行计划(1)101 透彻研究通过explain命令得到的SQL执行计划(2)102 透彻研究通过explain命令得到的SQL执行计划(3)103 透彻研究通过explain命令得到的SQL执行计划(4)104 透彻研究通过explain命令得到的SQL执行计划(5)105 透彻研究通过explain命令得到的SQL执行计划(6)106 透彻研究通过explain命令得到的SQL执行计划(7)107 透彻研究通过explain命令得到的SQL执行计划(8)108 透彻研究通过explain命令得到的SQL执行计划(9)64 深入研究索引之前,先来看看磁盘数据页的存储结构65 假设没有任何索引,数据库是如何根据查询语句搜索数据的?66 不断在表中插入数据时,物理存储是如何进行页分裂的?67 基于主键的索引是如何设计的,以及如何根据主键索引查询?68 索引的页存储物理结构,是如何用B+树来实现的?69 更新数据的时候,自动维护的聚簇索引到底是什么?70 针对主键之外的字段建立的二级索引,又是如何运作的?71 插入数据时到底是如何维护好不同索引的B+树的?72 一个表里是不是索引搞的越多越好?那你就大错特错了!73 通过一步一图来深入理解联合索引查询原理以及全值匹配规则74 再来看看几个最常见和最基本的索引使用规则75 当我们在SQL里进行排序的时候,如何才能使用索引?76 当我们在SQL里进行分组的时候,如何才能使用索引?77 回表查询对性能的损害以及覆盖索引是什么?78 设计索引的时候,我们一般要考虑哪些因素呢?(上)79 设计索引的时候,我们一般要考虑哪些因素呢?(中)80 设计索引的时候,我们一般要考虑哪些因素呢?(下)81 案例实战:陌生人社交APP的MySQL索引设计实战(1)82 案例实战:陌生人社交APP的MySQL索引设计实战(2)83 案例实战:陌生人社交APP的MySQL索引设计实战(3)84 案例实战:陌生人社交APP的MySQL索引设计实战(4)85 提纲挈领的告诉你,SQL语句的执行计划和性能优化有什么关系?86 以MySQL单表查询来举例,看看执行计划包含哪些内容(1)87 以MySQL单表查询来举例,看看执行计划包含哪些内容(2)88 再次重温写出各种SQL语句的时候,会用什么执行计划(1)89 再次重温写出各种SQL语句的时候,会用什么执行计划(2)90 再次重温写出各种SQL语句的时候,会用什么执行计划(3)91 深入探索多表关联的SQL语句到底是如何执行的(1)92 深入探索多表关联的SQL语句到底是如何执行的(2)93 深入探索多表关联的SQL语句到底是如何执行的(3)94 MySQL是如何根据成本优化选择执行计划的(上)95 MySQL是如何根据成本优化选择执行计划的(中)96 MySQL是如何根据成本优化选择执行计划的(下)97 MySQL是如何基于各种规则去优化执行计划的(上)98 MySQL是如何基于各种规则去优化执行计划的(中)99 MySQL是如何基于各种规则去优化执行计划的(下)