一般来说,SQL查询优化器分析给定查询的许多选项,预估每个选项的成本,最后选择成本最低的选项。如果查询优化器选择了错误的计划,则性能差异可能从几毫秒到几分钟。幸运的是,现在有许多第三方SQL查询优化工具可以自动优化每个SQL查询。这些工具极大地简化了开发人员和数据库管理员的工作,因为他们提供了正确的查询调优建议和索引建议。现在我们已经知道了SQL查询优化器的重要性,以下推荐几款不错的工具。
1.Solarwinds数据库性能分析器
Solarwinds的数据库性能分析器是一种用于监控,分析和调整数据库和SQL查询性能的高级工具。其突出的特点包括:
- 实时识别数据库问题。
- 跟踪每个活动会话中的每个查询,并识别导致查询执行和性能延迟的区域。
- 无论是内部部署,虚拟化还是云端,都可以从单个视图监控和优化。
- 捕获响应时间和服务器统计信息的多个指标,并将它们存储在数据仓库存储库中以供将来分析。
- 在受监控的服务器上不安装任何软件或代理,因此在受监控的实例上所放的负载不到1%。
- 通过三到四次点击,就可以了解根本原因
- 关联SQL语句,上下文,系统,存储运行状况,等待类型和响应时间,以便全面了解查询的性能。
- 主动监控系统并在问题开始影响用户之前识别问题。
- 标识SQL块及其对应的锁。
- 自动创建可视化报告,通过电子邮件将其发送到指定的地址。
- 通过电子邮件或SNMP主动发出警报。
- 与Orion平台完美集成。
- 从单个界面提供跨供应商数据库支持。适用于不同的数据库,如SQL Server,Oracle,MySQL,MariaDB,AWS Aurora,DB2和ASE等。
2.Redgate SQL Monitor
Redgate SQL Monitor可以主动监控SQL服务器并报告问题。Redgate的一些重要功能包括:
- 使你可以选择为每个位置安装一个基本监控器。这意味着,可以在一个界面中获取所有数据中心的报告,而无需在每个位置安装单独的UI。通过这种方式,可以通过单个SQL监控仪表板监控所有位置的性能,因此不会出现安全性损失。
- 一个基础监控器可以覆盖200多台服务器。
- 所有警报都是收件箱中的单个可扩展对象,因此可以将所有必要的信息聚集在一起。此外,它还可以避免使收件箱混乱。
- 在发生死机时发出警报,以便轻松恢复任何丢失的进程并采取措施减少未来的发生。
- 创建高级图表,使你可以快速浏览SQL查询的状态。
- 查询历史记录图有助于查看查询的影响。这使得最早识别问题变得容易。
- 阻止过程显示在概述页面中,以便于阅读。
- 标识执行部署的工具并在时间轴上显示相同的工具。
- 可以通过import-export API批量加载详细信息。
- 识别错误的数据库部署。
3.Idera DB Optimizer
Idera DB Optimizer是一个综合工具,可以调整性能不佳的SQL代码,并帮助尽早识别问题及其根本原因。Idera具有以下功能:
- 通过单个通用接口在所有主要RDBMS(如Oracle,Sybase,DB2和SQL Server)上调整SQL代码。
- 减少培训需求并简化企业内不同团队之间的协作。
- 此工具附带的向导会自动建议解决方案以改进优化。
- 颜色编码的索引分析视图显示缺少的索引并提供修复相同的建议。
- 其独特的Visual SQL Tuning图将基于文本的SQL代码转换为图形SQL图。这有助于DBA了解SQL查询对数据库的影响。
- 提供等待时间分析的图形表示,以识别较差的数据库性能。
- 允许跨进程共享信息。
- 负载测试验证针对数据库的现有和备用SQL查询的性能
- 帮助并行运行多个查询。
- 建议进行适当的SQL重写。
4.EverSQL
EverSQL是一个在线SQL查询优化器,它提供了监控SQL查询性能的最简单方法。EverSQL具有以下功能:
- 轻松优化SQL查询
- 简单易用
- 配有直观的界面
- 无需下载或安装。
- 只需上传或输入查询,上传架构并获得优化的查询结果
- 不需要任何数据库访问权限。
- 支持MySQL,MariaDB和PerconaDB数据库。
- 提供最佳索引建议。
5.dbForge Studio
dbForge Studio是一个专为集成开发环境设计的强大工具。它有助于开发,管理,分析和报告SQL查询和性能。dbForge Studio具有以下功能:
- 以自动代码完成的形式提供SQL编程辅助,只需几次击键即可创建SQL语句,SQL格式化可遵循普遍接受的编程标准,T-SQL分析器可通过可配置规则提高代码质量,SQL代码段可存储和重用重复的代码片段和高级代码导航。
- 完全控制你的服务器。
- 分析SQL索引的状态并修复索引碎片问题。
- 允许以可视方式立即重建和重组SQL索引。
- 实现自动化单元测试
- 优化慢查询
- 每个查询都会与其成本一起进行分析和显示。如果你正在执行批量查询,它也表示为批次总成本的百分比。
- “等待统计信息”选项卡允许你轻松检测查询中的瓶颈
- 显示与每个查询关联的等待和事件列表
- PLAN树提供有关每个查询(包括位置)执行的信息,以便于优化。
- 显示最昂贵的操作。
- 提供所有表的输入输出统计信息。
- 每次更改查询后,可帮助查看多个查询的分析结果。
结论
简而言之,SQL查询优化工具可帮助你选择最少的时间和资源来执行正确查询,同时提供最佳性能,这些工具是优化SQL查询的绝佳选择。不过需要指出的是,这五款工具都是收费工具,都提供免费试用版,只有EverSQL提供长期免费版,但功能有限。