1. SOAR/SOAR-WEB

强烈推荐

小米开源的SQL优化和改写的自动化工具

  • 跨平台支持(支持 Linux, Mac 环境,Windows 环境理论上也支持,不过未全面测试)
  • 目前只支持 MySQL 语法族协议的 SQL 优化
  • 支持基于启发式算法的语句优化
  • 支持复杂查询的多列索引优化(UPDATE, INSERT, DELETE, SELECT)
  • 支持 EXPLAIN 信息丰富解读
  • 支持 SQL 指纹、压缩和美化
  • 支持同一张表多条 ALTER 请求合并
  • 支持自定义规则的 SQL 改写

安装步骤
推荐使用docker直接安装soar-web,可视化工具,简单易用。

# 安装镜像,这一步需要关闭防火墙
docker pull becivells/soar-web

# 运行
docker run -d --name soar -p 5077:5077 becivells/soar-web

# 查看容器是否启动
docker ps

CONTAINER ID   IMAGE                COMMAND                  CREATED         STATUS        PORTS                                                  NAMES
f3adfdeb43f7   becivells/soar-web   "python /home/soar-w…"   3 seconds ago   Up 1 second   0.0.0.0:5077->5077/tcp, :::5077->5077/tcp              soar

在浏览器中输入localhost:5077即可看到 soar 的 web 界面,其中包括 SQL 分析以及 soar 配置两个页面。
在这里插入图片描述

配置页
在这里插入图片描述

使用soar
在 soar 配置页面中,可以新增/编辑数据库配置,并可以测试连接。在此配置中,建议开启数据采样功能,这样的分析结果就有 explain 信息以及使用 SQL 重写功能。
在这里插入图片描述

在 SQL 分析页面中,可以对 SQL 给出详细的优化建议,例如:

在这里插入图片描述

使用比较简单,本地就可以测试

2. Solarwinds数据库性能分析器

Solarwinds的数据库性能分析器是一种用于监控,分析和调整数据库和SQL查询性能的高级工具。
在这里插入图片描述

其突出的特点包括:

  • 实时识别数据库问题。
  • 跟踪每个活动会话中的每个查询,并识别导致查询执行和性能延迟的区域。
  • 无论是内部部署,虚拟化还是云端,都可以从单个视图监控和优化。
  • 捕获响应时间和服务器统计信息的多个指标,并将它们存储在数据仓库存储库中以供将来分析。
  • 在受监控的服务器上不安装任何软件或代理,因此在受监控的实例上所放的负载不到1%。
  • 通过三到四次点击,就可以了解根本原因
  • 关联SQL语句,上下文,系统,存储运行状况,等待类型和响应时间,以便全面了解查询的性能。
  • 主动监控系统并在问题开始影响用户之前识别问题。
  • 标识SQL块及其对应的锁。
  • 自动创建可视化报告,通过电子邮件将其发送到指定的地址。
  • 通过电子邮件或SNMP主动发出警报。
  • 与Orion平台完美集成。
  • 从单个界面提供跨供应商数据库支持。适用于不同的数据库,如SQL Server,Oracle,MySQL,MariaDB,AWS Aurora,DB2和ASE等。

3. Redgate SQL Monitor

Redgate SQL Monitor可以主动监控SQL服务器并报告问题
在这里插入图片描述

Redgate的一些重要功能包括:

  • 使你可以选择为每个位置安装一个基本监控器。这意味着,可以在一个界面中获取所有数据中心的报告,而无需在每个位置安装单独的UI。通过这种方式,可以通过单个SQL监控仪表板监控所有位置的性能,因此不会出现安全性损失。
  • 一个基础监控器可以覆盖200多台服务器。
  • 所有警报都是收件箱中的单个可扩展对象,因此可以将所有必要的信息聚集在一起。此外,它还可以避免使收件箱混乱。
  • 在发生死机时发出警报,以便轻松恢复任何丢失的进程并采取措施减少未来的发生。
  • 创建高级图表,使你可以快速浏览SQL查询的状态。
  • 查询历史记录图有助于查看查询的影响。这使得最早识别问题变得容易。
  • 阻止过程显示在概述页面中,以便于阅读。
  • 标识执行部署的工具并在时间轴上显示相同的工具。
  • 可以通过import-expor API批量加载详细信息。
  • 识别错误的数据库部署。

4. Idera DB Optimizer

Idera DB Optimizer是一个综合工具,可以调整性能不佳的SQL代码,并帮助尽早识别问题及其根本原因
在这里插入图片描述

Idera具有以下功能:

  • 通过单个通用接口在所有主要RDBMS(如Oracle,Sybase,DB2和SQL Server)上调整SQL代码。
  • 减少培训需求并简化企业内不同团队之间的协作。
  • 此工具附带的向导会自动建议解决方案以改进优化。
  • 颜色编码的索引分析视图显示缺少的索引并提供修复相同的建议。
  • 其独特的Visual SQL Tuning图将基于文本的SQL代码转换为图形SQL图。这有助于DBA了解SQL查询对数据库的影响。
  • 提供等待时间分析的图形表示,以识别较差的数据库性能。
  • 允许跨进程共享信息。
  • 负载测试验证针对数据库的现有和备用SQL查询的性能
  • 帮助并行运行多个查询。
  • 建议进行适当的SQL重写。

5. EverSQL

推荐

EverSQL是一个在线SQL查询优化器,它提供了监控SQL查询性能的最简单方法。
在这里插入图片描述

EverSQL具有以下功能:

  • 轻松优化SQL查询
  • 简单易用
  • 配有直观的界面
  • 无需下载或安装。
  • 只需上传或输入查询,上传架构并获得优化的查询结果
  • 不需要任何数据库访问权限。
  • 支持MySQL,MariaDB和PerconaDB数据库
  • 提供最佳索引建议。

6. dbForge Studio

dbForge Studio是一个专为集成开发环境设计的强大工具。它有助于开发,管理,分析和报告SQL查询和性能。
在这里插入图片描述

dbForge Studio具有以下功能:

  • 以自动代码完成的形式提供SQL编程辅助,只需几次击键即可创建SQL语句,SQL格式化可遵循普遍接受的编程标准,T-SQL分析器可通过可配置规则提高代码质量,SQL代码段可存储和重用重复的代码片段和高级代码导航。
  • 完全控制你的服务器。
  • 分析SQL索引的状态并修复索引碎片问题。
  • 允许以可视方式立即重建和重组SQL索引。
  • 实现自动化单元测试
  • 优化慢查询
  • 每个查询都会与其成本一起进行分析和显示。如果你正在执行批量查询,它也表示为批次总成本的百分比。
  • “等待统计信息”选项卡允许你轻松检测查询中的瓶颈
  • 显示与每个查询关联的等待和事件列表
  • PLAN树提供有关每个查询(包括位置)执行的信息,以便于优化。
  • 显示最昂贵的操作。
  • 提供所有表的输入输出统计信息。
  • 每次更改查询后,可帮助查看多个查询的分析结果。

总结

日常开发比较推荐 SOAR 和 EverSQL,这两款都是免费的,应对日常开发足够了。其他4款都是收费的,比较专业,适合企业级运维应用

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐