摘要: 三道MySQL联合索引面试题,淘汰80%的面试者,你能答对几道 众所周知MySQL联合索引遵循最左前缀匹配原则,在少数情况下也会不遵循(有兴趣,可以翻一下上篇文章)。 创建联合索引的时候,建议优先把区分度高的字段放在第一列。 至于怎么统计区分度,可以按照下面这种方式。 阅读全文
posted @ 2022-08-23 10:26 一灯架构 阅读(1163) 评论(1) 推荐(1) 编辑
摘要: MySQL查询性能优化七种武器之链路追踪 MySQL优化器可以生成Explain执行计划,我们可以通过执行计划查看是否使用了索引,使用了哪种索引? 但是到底为什么会使用这个索引,我们却无从得知。 好在MySQL提供了一个好用的工具 — optimizer trace(优化器追踪),可以帮助我们查看优化器生成执行计划的整个过程,以及做出的各种决策,包括访问表的方法、各种开销计算、各种转换等。 阅读全文
posted @ 2022-08-17 10:30 一灯架构 阅读(1052) 评论(1) 推荐(0) 编辑
摘要: 手把手教你分析MySQL查询性能瓶颈,包教包会 当一条SQL执行较慢,需要分析性能瓶颈,到底慢在哪? 我们一般会使用Explain查看其执行计划,从执行计划中得知这条SQL有没有使用索引?使用了哪个索引? 但是执行计划显示内容不够详细,如果显示用到了某个索引,查询依然很慢,我们就无法得知具体是哪一步比较耗时? 好在MySQL提供一个SQL性能分析工具 — Profile。 阅读全文
posted @ 2022-08-15 10:42 一灯架构 阅读(1975) 评论(4) 推荐(5) 编辑
摘要: 手把手教你定位线上MySQL锁超时问题,包教包会 昨晚我正在床上睡得着着的,突然来了一条短信。 什么?线上的订单无法取消! 我赶紧登录线上系统,查看业务日志。发现有MySQL锁超时的错误日志。 阅读全文
posted @ 2022-08-11 12:06 一灯架构 阅读(1445) 评论(6) 推荐(6) 编辑
摘要: MySQL查询性能优化七种武器之索引潜水 有读者可能会一脸懵逼? 啥是索引潜水? 你给起的名字的吗?有没有索引蛙泳? 这个名字还真不是我起的,今天要讲的知识点就叫索引潜水(Index dive)。 先要从一件怪事说起: 阅读全文
posted @ 2022-08-09 10:18 一灯架构 阅读(1210) 评论(3) 推荐(4) 编辑
摘要: 我说MySQL联合索引遵循最左前缀匹配原则,面试官让我回去等通知 面试官:我看你的简历上写着精通MySQL,问你个简单的问题,MySQL联合索引有什么特性? 我:MySQL联合索引遵循最左前缀匹配原则,即最左优先,查询的时候会优先匹配最左边的索引。 例如当我们在(a,b,c)三个字段上创建联合索引时,实际上是创建了三个索引,分别是(a)、(a,b)、(a,b,c)。 查询条件中包含这些索引的时候,查询就会用到索引。例如下面的查询条件,就可以用到索引: 阅读全文
posted @ 2022-08-07 11:24 一灯架构 阅读(832) 评论(6) 推荐(2) 编辑
摘要: 手把手教你定位线上MySQL慢查询问题,包教包会 慢查询日志默认不开启,建议手动开启,方便我们定位线上问题。 执行时间超过阈值的SQL会被写入到慢查询日志当中,这样可以帮助我们记录执行时间过长的SQL语句,定位线上慢SQL问题,方便我们进行SQL性能调优。 阅读全文
posted @ 2022-08-05 10:42 一灯架构 阅读(1254) 评论(2) 推荐(4) 编辑
摘要: 精心整理16条MySQL使用规范,减少80%问题,推荐分享给团队 上篇文章介绍了如何创建合适的MySQL索引,今天再一块学一下如何更规范、更合理的使用MySQL? 合理规范的使用MySQL,可以大大减少开发工作量和线上问题,并提升SQL查询性能。 我精心总结了这16条MySQL规约,分享给大家,欢迎评论指正。 阅读全文
posted @ 2022-08-02 22:34 一灯架构 阅读(1039) 评论(1) 推荐(4) 编辑
摘要: 精心总结十三条建议,帮你创建更合适的MySQL索引 上篇文章讲到使用MySQL的Explain命令可以分析SQL性能瓶颈,优化SQL查询,以及查看是否用到了索引。 我们都知道创建索引可以提高查询效率,但是具体该怎么创建索引? 哪些字段适合创建索引? 哪些字段又不适合创建索引? 本文跟大家一块学习一下如何创建合适数据库索引。 阅读全文
posted @ 2022-07-31 23:44 一灯架构 阅读(1293) 评论(1) 推荐(6) 编辑
摘要: 学会使用MySQL的Explain执行计划,SQL性能调优从此不再困难 上篇文章讲了MySQL架构体系,了解到MySQL Server端的优化器可以生成Explain执行计划,而执行计划可以帮助我们分析SQL语句性能瓶颈,优化SQL查询逻辑,今天就一块学习Explain执行计划的具体用法。 阅读全文
posted @ 2022-07-28 10:32 一灯架构 阅读(1582) 评论(4) 推荐(15) 编辑