分类: MySQL

15 篇文章

order by是如何排序的
order by是如何排序的 1. 索引排序 如果使用索引排序速度非常快 条件: 索引排序的要求就是在索引中可以筛选数据, 但不是100%, 因为优化器可能会有其他选择   2. files…
自适应hash索引
自适应hash索引 是什么 是一个hash结构的索引,用于减少IO次数,会保存热点查询的<索引值, 磁盘索引页地址>的映射 只有走索引的时候才能起作用吗 是的,因为保存的是索引到B+树页的…
changebuffer
changebuffer 有什么作用 用于减少非唯一索引修改的IO次数(磁盘->内存->磁盘),记录变更操作然后等下一次磁盘->内存中再顺便修改索引值 为什么只记录非唯一索引 因为唯…
RR隔离级别
有没有解决幻读 三种问题 脏读(读取到了未提交的事务,用MVCC中的快照读解决(RC)) 不可重复读(两次读取的同一条数据不一样,用RR解决) 幻读(读到了新增的数据,MVCC+间隙锁能解决大部分幻读…
二阶段提交
是什么 为了保证主从架构的数据一致性, 崩溃时redolog和binlog对事务的状态保持一致 规则 redo log 为“Prepared”,binlog 无记录:回滚。 redo log 为“Pr…
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、小表驱动大表(减少连接次数)、增加冗余字段 索引优化: 索引失效问题(索引运算、!=、%在前、最左匹配、范围查询)、…