MySQL面试真题
一、B+Tree的性质、规约、优点
1、性质
- 非叶子节点不存储数据,只存储索引(冗余),可以放更多的数据
- 叶子节点包含所有索引字段
- 叶子节点用指针连接,提高区间访问性能
二、MySQL中锁有哪些
1、按锁粒度分
(1)行锁:锁某行数据,锁粒度小,并发度高
(2)表锁:锁整张表,锁粒度大,并发度低
(3)间隙锁:锁的是一个区间
2、按读写性质分
(1)共享锁:也就是读锁,一个事务给某行数据加了读锁,其他事务也可以读,但是不能写
(2)排他锁:也就是写锁,一个事务给某行数据加了写锁,其他事务不能读,也不能写
3、按好坏性分
(1)乐观锁:并不会真正去锁某行记录,而是通过一个版本号来实现的;上面所说的行锁、表锁等都是悲观锁
(2)悲观锁:上面所说的行锁、表锁等都是悲观锁
三、MySQL慢查询如何优化
1、检查是否走了引,如果没有则优化SQL,利用索引
2、检查所利用的索引,是否最优索引
3、检查所查字段是否都是必须的,是否查询了过多字段,查出了多余数据
4、检查表中数据是否过多,是否应该进行分分表了
5、检查数据库实例所在机器的性能配置,是否太低,是否可以适当增加资源
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2021-05-12 LeetCode每日一题————1734. 解码异或后的排列