InnoDB支持哪几种行格式
InnoDB支持哪几种行格式 tablespace - segment - extent(1M) - page(16K) - row 冗余格式:每一行数据的前面有一个字段长度列表,记录每个字段的长度(…
MySQL主从复制
主从复制原理 原理图   主从配置 1. 主: 1.1 修改配置文件: 编辑主服务器的MySQL配置文件 my.cnf(一般位于 /etc/mysql/my.cnf 或 /etc/my.cn…
MySQL锁
锁 行锁 Record Lock select * from user where id = 1 for update; -- 将id = 1这一行锁住 Gap Lock -- id 1 6 8 12…
有哪些方式优化慢SQL
有哪些方式优化慢SQL 查询优化: 指定列代替* join优化: 避免多表join、小表驱动大表(减少连接次数)、增加冗余字段 索引优化: 索引失效问题(索引运算、!=、%在前、最左匹配、范围查询)、…
B+树可以存储多少数据
B+树可以存储多少数据 参考文章 一个页16k, 假设一行数据为1k 假设一个主键值8byte,一个指针6byte 两层:(16 x 1024)/ 14 = 1170, 1170 x 16 = 187…
一条SQL的执行顺序
一条SQL的运行顺序 客户端 -> 链接模块 -> 解析器 -> 优化器(执行计划) -> 执行器 -> InnoDB   一条SQL查询语句的执行顺序 编写顺…
数据库与缓存的一致性
缓存一致性 先更新数据库后删缓存 问题: 并发导致缓存旧数据 解决: 设置过期时间, 适合允许一段时间内的脏数据的业务 适用场景: 排行榜、推荐系统   延迟双删 未采用的问题:除了上面的并…
分页优化
分页优化 参考文章 现在有400w条数据,要查询390w后面10条 -- 一般的分页查询 SELECT * FROM test ORDER BY id DESC LIMIT 3900000,10; -…
空间分配担保机制
空间分配担保机制 是什么:在发生Minor GC之前,虚拟机会检查老年代最大可用的连续空间是否大于新生代所有对象的总空间 老年代最大可用的连续空间 > Minor GC之前所有对象 => …
JVM工具
JVM工具 命令行工具 1.jps 2.jstack: 生成整个jvm快照 3.jmap: 生成堆的快照 4.jhat: 将jmap生成的文件分析成html文件 5.jstat jstat -gc 1…