1、SQL优化
索引失效:
工作中实际优化的案例:比如深度分页优化
顺便补充:
复杂查询:迁移hive、迁移ES、产品功能优化避免慢SQL产生
join优化:调整join buffer的大小
空间换时间:冗余一些字段避免复杂查询
回表和覆盖索引
分库分表:减少扫描的数据量提升查询性能
缓存:结合业务情况使用缓存
2、mysql innodb和myisam区别
3、联合索引最左匹配原则和联合索引的索引结构
4、mysql索引下推是什么
5、mysql redolog和binlog一致性(本地事务两阶段提交)
6、mysql主从同步原理,什么是半同步复制
可以配置的参数&参数对应的数据安全级别
7、mysql MVCC原理
8、mysql change buffer是啥也即普通索引和唯一索引怎么选择
9、mysql语句执行步骤
10、MySQL什么时候 锁表?如何防止锁表
字节面试:MySQL什么时候 锁表?如何防止锁表?-CSDN博客
11、mysql加锁机制:间隙锁、辅助索引的行锁,记录对应主键锁
进一步:间隙锁是非排他锁,会带来死锁的问题
12、b树和b+树的区别
13、msyql order by原理(了解)
14、mysql 的left join左侧表一定是驱动表吗(了解)
15、mysql为什么选在B+树做索引而不是跳跃表,为啥redis选择跳跃表
16、mysql什么时候需要分库,什么时候需要分表
分库:单个主库连接不够,需要分库
分表:解决数据量大的问题
基因法做分库分表key设计
17、什么是聚簇索引和非聚簇索引,为什么这么设计
1、锁是加在索引上的
2、非聚簇索引提升查询性能
3、只有一个聚簇索引可以减少存储,另外在维护数据一致性方面也有好处
18、mysql是否支持hash索引
对外不支持,mysql内部动态根据情况会建立hash索引提升性能