likes
comments
collection
share

还在为调试复现sql运行时烦恼吗?推荐给你

作者站长头像
站长
· 阅读数 16

背景

最近在处理一个统计分析相关的程序,代码相关语言是python的,部署起来后,需要对数据流进行分析,以便于归属表与功能的对应,分库分表涉及的表内容有点儿多,分析起来相对麻烦,通过查看调试代码太慢也不直观,于是找到了一款数据库分析工具,与普通的分析不同,现代程序调用链越来越复杂,想要从数据库层级观看数据走向是一个头疼的事儿,这款工具在一定程度上能解决相关问题,但也不是最完美的方案。

介绍

Neo Profile SQL 是为想要分析 MySQL 查询的开发人员提供的解决方案。该软件允许跟踪从您的应用程序或网站对 MySQL 服务器的所有查询 还在为调试复现sql运行时烦恼吗?推荐给你

主要特点

  • 数据库接收和发送字符串的总统计
  • 计算所有查询
  • 显示每个查询花费的时间
  • 慢查询检测
  • 显示所有 SQL 查询的详细代码
  • 在单独的选项卡中显示所需的会话
  • 保存会话以进一步比较结果

重点功能

还在为调试复现sql运行时烦恼吗?推荐给你 通过配置数据库的监控连接,代理一个新的服务地址,当调试程序时可以选择修改相关端口及地址,如默认的代理端口连接为4040 问: 如何检查 Profiler 连接? A: 使用 MySQL 控制台客户端连接到分析器。如果您在“会话”选项卡中看到自我会话,则它可以正常工作。 示例: mysql --host=127.0.0.1 --user=LOGIN --password=PASSWORD --port=4040 当您尝试简单的 SQL 命令时: show tables; 并查看 Profiler 中的 Session 选项卡。 以java为例:

URL = jdbc:mysql://**127.0.0.1:4040**/YOUR_DATABASE?user=YOUR_USER&password=YOUR_PASSWORD

程序调试执行时可以观看数据库的数据操作情况,以及查询构造参数,便于我们对整个业务及数据链的关系快速对应熟悉,尤为重要的是,你再也不用担忧对sql参数构造问题的担忧了,相关执行结果已被监控记录。 还在为调试复现sql运行时烦恼吗?推荐给你

  1. 市面上对应的也有日志分析工具,主要通过对mysql服务添加日志记录,解析相关日志文件进行,但此种方式相对比较麻烦。
  2. 再有就是工作台相关分析,基于mysql Profile 命令进行相关操作,分析限度有限,不够直观和过滤筛选。
  3. 通过程序相关组件进行监控记录,侵入性强,需要在开始时就加入相关组件进行监控。 通过点击相关语句,可进一步对慢sql进行分析,这个功能相对比较广泛,少的是能和程序,页面操作联动起来。 还在为调试复现sql运行时烦恼吗?推荐给你

总结

该组件从体验和操作上相对比较完善,相对的弱点如下:

  1. 相关功能还是比较弱一些,如果能包含对3306标准库的流监控,无需其他配置会更加完美,即只需要启动程序就可进行所有的监控操作,会更加完美。
  2. 组件功能相对稳定,但是对库的支持不够丰富,技术用的是qt组件,PC应用开发模式,相关的比较丰富美观的交互不够理想。

结束语

数据库分析其实阿里云的云数据库做的相对比较完善和丰富,但是个人调试和分析工具可能之前也没涉及到这个情况,并没有去找相关合适的软件工具,此工具的功能具有挖掘性和扩展性,可适当的考虑在不通过改程序的情况下,在此处进行分库分表的规则设计和处理,不对程序进行破坏,是一条不错的进化设计路线,同时分析功能的多样性,设置一个业务与功能的对应关系,能够很快的适应业务涉及的表有那些,数据的操作入库等功能分析。

转载自:https://juejin.cn/post/7132133265061707812
评论
请登录