order by是如何排序的 1. 索引排序 如果使用索引排序速度非常快 条件: 索引排序的要求就是在索引中可以筛选数据, 但不是100%, 因为优化器可能会有其他选择 2. files…
自适应hash索引 是什么 是一个hash结构的索引,用于减少IO次数,会保存热点查询的<索引值, 磁盘索引页地址>的映射 只有走索引的时候才能起作用吗 是的,因为保存的是索引到B+树页的…
changebuffer 有什么作用 用于减少非唯一索引修改的IO次数(磁盘->内存->磁盘),记录变更操作然后等下一次磁盘->内存中再顺便修改索引值 为什么只记录非唯一索引 因为唯…
有没有解决幻读 三种问题 脏读(读取到了未提交的事务,用MVCC中的快照读解决(RC)) 不可重复读(两次读取的同一条数据不一样,用RR解决) 幻读(读到了新增的数据,MVCC+间隙锁能解决大部分幻读…
bufferpool中有无数据 记录原数据到undolog中 bufferpool中修改数据为脏页 将脏页写到redologbuffer中 --> 异步刷新到redolog中 事务提交 buff…
是什么 为了保证主从架构的数据一致性, 崩溃时redolog和binlog对事务的状态保持一致 规则 redo log 为“Prepared”,binlog 无记录:回滚。 redo log 为“Pr…
InnoDB支持哪几种行格式 tablespace - segment - extent(1M) - page(16K) - row 冗余格式:每一行数据的前面有一个字段长度列表,记录每个字段的长度(…
主从复制原理 原理图 主从配置 1. 主: 1.1 修改配置文件: 编辑主服务器的MySQL配置文件 my.cnf(一般位于 /etc/mysql/my.cnf 或 /etc/my.cn…
锁 行锁 Record Lock select * from user where id = 1 for update; -- 将id = 1这一行锁住 Gap Lock -- id 1 6 8 12…
有哪些方式优化慢SQL 查询优化: 指定列代替* join优化: 避免多表join、小表驱动大表(减少连接次数)、增加冗余字段 索引优化: 索引失效问题(索引运算、!=、%在前、最左匹配、范围查询)、…