首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java面试--Mysql篇
阿涛呀
创建于2025-05-28
订阅专栏
Java面试--Mysql篇
暂无订阅
共14篇文章
创建于2025-05-28
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
分库分表
项目采用垂直分库(微服务拆分),水平分库解决单表超1000万问题,通过MyCat按ID取模分片,分摊存储与查询压力。
主从同步原理
主从同步:主库通过Binlog记录变更,从库读取Binlog写入Relay Log并重放,实现数据同步。
解释一下mvcc
MVCC通过隐藏字段(trx_id、roll_pointer)、undo log版本链和ReadView实现事务隔离,不同隔离级别基于快照读控制版本可见性,避免读写冲突。
undo log和redo log的区别
redo log记录数据页物理变化,确保宕机恢复与事务持久性;undo log记录逻辑操作,支持回滚保证原子性与一致性。
并发事务问题和隔离级别
并发事务引发脏读、不可重复读和幻读问题。MySQL默认隔离级别为可重复读(REPEATABLE READ),平衡性能与一致性,串行化可彻底解决但性能低。
事务的特性
SQL优化需优化字段类型与索引设计,避免低效查询(如SELECT *),利用分页/分区技术,并通过分库分表提升性能 。
谈谈你对sql优化的经验
SQL优化需优化字段类型与索引设计,避免低效查询(如SELECT *),利用分页/分区技术,并通过分库分表提升性能 。
什么情况下索引会失效
索引失效主因包括未遵循最左匹配原则 、模糊查询以%开头 、索引列运算/函数 、隐式类型转换 、复合索引中间使用范围查询导致右侧失效
索引创建的原则
索引创建原则:数据量大时建索引,高频查询/排序字段优先,多用复合索引,低区分度字段靠后,长字段用前缀索引,控制总量避免拖累写入。
覆盖索引,超大分页优化
覆盖索引直接返回索引列避免回表,提升查询性能。超大分页可通过子查询+覆盖索引优化,先查ID再关联获取数据,减少全表扫描。
聚簇索引,非聚簇索引,回表查询
聚簇索引数据与索引一体(主键构成),非聚簇索引分离存储(叶子节点存主键值)。回表指通过二级索引查主键再查聚簇索引取完整数据。
索引概念及索引底层数据结构
索引是提升MySQL查询效率的数据结构,InnoDB采用B+树存储,相比B树,B+树数据仅存于叶子节点且双向链接,范围查询更高效稳定。
一个SQL语句执行很慢,如何分析
通过EXPLAIN分析慢SQL,检查key/type确认索引命中及执行计划,结合Extra判断回表,优化索引或调整查询字段避免全表扫描。
Mysql篇--如何定位慢查询
MySQL慢查询可通过监控工具(如Skywalking)或开启慢查询日志定位,设置阈值(如2秒)自动记录超时SQL,便于优化分析。