这是学习笔记的第 1965 篇文章
最近和同事对于慢日志提取和优化做了更进一步的改版,总体来看效果还是不错的,对于数据完整性,数据有效性方面需要不断完善。
这是一个初步的概览面板,能够通过这个面板实现大部分的慢日志提取需求,目的是能够通过可视化的方式更全面的展示慢日志的信息,如下:
而在这个基础上,其实我们的工作还有很多的改进之处,我们希望的不是单单的慢日志提取,听起来技术含量还是不够,我们想把这部分的内容做得更深更细一些,比如我们可以根据SQL指纹来得到一段时间周期内的性能历史情况,听过这个曲线图就能够知道同一个SQL在时间维度内的变化情况,是否稳定。我们根据快照来进行数据的提取展示,在不同的时间维度(半个小时以内)执行的时长,次数等都有一个更为精确的统计方式。
在这个基础上,我们补充了表信息执行计划的信息和相关表信息,也就是说一条SQL语句,我们会根据SQL提取出相关的表名,然后把这些信息通过列表的形式来展现,下钻到具体的表结构信息,这样我们分析一条SQL的问题时可以根据具有参考性。
而强烈推荐的是两个部分,一个是SQL性能模型,我们根据SQL性能进行评估和打分,然后给出一些建议,这部分的内容还是初步设计阶段,也是我们需要不断完善的核心内容。
而最后的相关SQL是一个比较有意思的功能,一条SQL语句相关的表有a,b,c,那么我们会根据这些表为维度来进行动态匹配,还有哪些SQL是相关的,把他们也能够排列出来,作为优化的参考,比如我们优化了一条语句,结果通过相关SQL发现影响面还是比较大,那么在优化中我们就需要格外注意。