推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

SQL优化与数据库高可用面试题.docx

更新时间:2026-10-16 12:26:43 大小:38K 上传用户:江岚查看TA发布的资源 标签:SQL优化数据库高可用执行计划索引优化查询改写 下载积分:2分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

SQL优化与数据库高可用面试题

SQL执行过程与优化器

SQL语句的执行经历解析、优化、执行与返回结果的完整流程。解析阶段完成语法与语义检查并生成逻辑计划,优化器负责将逻辑计划转换为最优执行计划,选择是否使用索引、采用何种连接方式与扫描策略。基于成本的优化器根据表统计信息估算各方案代价,统计信息失真会导致选错计划。执行器按计划读取数据并计算返回结果。面试常考察慢查询的定位与优化流程,通常先通过慢查询日志捕获语句,用explain查看执行计划,识别全表扫描、filesort与临时表等风险点,再针对性优化索引或改写SQL。理解优化器的决策依据是回答SQL优化题的根本,而非单纯记住优化技巧。

索引优化与查询改写

查询优化的核心在于让索引得到有效利用。单列索引适用于等值查询,复合索引需遵循最左前缀原则,查询条件中索引列的使用顺序影响是否命中。覆盖索引通过索引中直接包含所需列避免回表,是高频优化手段。查询改写方面,避免对索引列使用函数与运算、避免隐式类型转换、避免使用前置通配符的模糊匹配,都能提升索引命中率。分页查询在大偏移量时可通过延迟关联或基于主键的范围查询优化。join查询中驱动表的选择、连接字段的索引与外键约束影响性能,避免对大表进行全量排序可用索引排序替代filesort。回答时应结合explain的输出说明每项优化的实际效果。

分库分表与读写分离

单库性能瓶颈通过分库分表缓解,包括垂直拆分将不同业务表拆分到不同库,水平拆分按分片键将数据分散到多表。分片键的选择决定数据分布均匀性与查询路由效率,常用取模、范围与一致性哈希方式。水平拆分后跨分片的join与聚合难以支持,需要应用层合并或采用分布式数据库方案。读写分离通过主库承担写、从库承担读分散压力,主从复制存在同步延迟,读最近写入的数据可能读到旧值,需通过强制主库读或延迟容忍策略处理。面试常考察分片键如何设计、扩容时数据如何迁移、跨分片事务如何保证,以及读写分离下的一致性问题与应对方案。


部分文件列表

文件名 大小
SQL优化与数据库高可用面试题.docx 38K

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载