SQL Server 查询优化
起始价格 $1,275
获取报价在响应时间分析的帮助下,识别哪些 SQL 查询需要重点优化
SolarWinds® Database Performance Analyzer (DPA) 旨在为您提供最快方法来分析 SQL 语句、识别性能问题根源、显示趋势以及为关键性能指标建立基线。借助 DPA 及其 24/7 全天候数据库监控,SQL 查询优化比您亲自操作更快、更容易、正确率更高。
DPA 对响应时间和等待时间的洞察可以帮助您快速识别有问题的 SQL 查询和索引建议,从而帮助您解决这些问题。响应时间和等待时间属于最有用的指标,可以用来洞察 SQL 查询性能。DPA 会整理所有 SQL 语句的数据,并根据响应时间对它们进行排序。然后,这些数据在 DPA Query Performance Analyzer 的“查询详细信息”页面中通过易于阅读的条形图显示。当您进入这个页面时,“首要等待事件”图表会醒目地显示在顶部,它展示您选择的时间段内查询的执行时间。这个条形图按等待类型使用彩色区分,并带有相关选项以显示每种等待类型的更详细信息以及可能的解决方案。这可以帮助开发人员和数据库管理员 (DBA) 确定需要注意的 SQL 查询,以优化 SQL 数据库性能。
监控开发、测试和生产服务器,以便在部署前解决 SQL 查询问题
通常情况下,SQL 查询代码直到开发和生产过程的后期才进行测试。大多数情况下,应用程序性能被推迟到部署阶段。这意味着开发人员在使用代码之前不会看到代码的执行情况。如果那时发现了性能问题,解决这些问题的过程和生成函数代码的延迟可能会成为一个麻烦,甚至是一个安全风险。
使用 DPA 中的 SolarWinds SQL Query Analyzer 解决方案,您可以以低于 1% 的负载监控开发、测试和生产服务器,这样您就可以在部署之前在 SQL Server 中开始查询优化。该工具还有助于您安全地监控生产过程中的 SQL 代码性能。使用 DPA 仪表板,开发人员可以深入到生产数据库,了解代码的执行情况,开始解决问题,并在预计投入使用前测试新代码。将应用程序性能纳入开发周期中,开发人员可以更好地提高 SQL 性能。
在简单易懂的条形图中获取您需要的所有信息
DPA Query Performance Analyzer 通过简单易懂的条形图和相关警报提供有关关键性能指标的所有信息。轻松访问这些信息可以使 DBA 和应用程序团队减少停机时间,有效地优化资源,并快速确定需要关注的 SQL 查询。
借助 DPA SQL Query Analyzer,您可以获得统一的数据库性能视图,以帮助您找出 SQL 性能问题的根源,这通常只需单击几次即可。借助 DPA 直观、统一的仪表板,您可以从单个视图中监控 SQL Server、Oracle、DB2、MariaDB、Aurora、MySQL、Azure SQL 和 SAP ASE。您还可以以低于 1% 的负载监控 VMware。
借助 DPA,您可以通过单一管理界面查看系统资源之间的直接关联,从而帮助简化 SQL 查询优化。借助 SolarWinds DPA 仪表板,您可以获得所有被监视实例和状态的情况,以全面了解数据库的性能。您还可以使用 SQL Query Analyzer 从同一个视图优化跨这些先进 RDBMS 引擎的 SQL 查询。
实时收集查询计划,以便您可以根据需要分析计划
查询执行计划(也称为查询计划)让您了解 SQL 查询将如何执行(或已经如何执行)。由于自动生成的执行计划并不总是最佳的,因此,能够回顾缓存的执行计划以确定是否需要对其修改以优化 SQL 数据库是非常重要的。
SolarWinds DPA 实时收集执行计划,并将其与 SQL 语句、等待类型和其他性能数据联系起来。然后,DPA 存储数据历史记录,以便您密切注意计划中可能导致了性能下降的任何更改并获得警报。这种数据存储还意味着您可以在需要时重新访问该计划,准确地找到所使用的执行计划。
DPA 以图形方式显示计划,当滚动到特定步骤时弹出对话框。它还显示每秒的编译和重新编译次数,这让您能够了解执行是否被重复使用。除了 DPA 收集和显示的重要指标外,这些清晰的视觉效果还可以帮助您找出 SQL 查询性能下降的原因。
优化内存使用量并调优存在不足的 SQL 查询以提高性能
借助 DPA,您可以深入了解内存使用量和压力,以更好地解决影响查询性能的因素。通过帮助您了解内存使用量,DPA 有助于确保您通过 SQL 查询优化发现性能问题的确切原因。
DPA 还可以在每天工作结束时运行表调优分析,利用历史趋势和当前数据生成调优建议。通过捕捉轻微的、广泛的性能问题,并提供调优顾问给予的详细分级输入建议,DPA 中的 Query Performance Analyzer 旨在帮助您更好地对需要注意的问题进行优先排序,并确认哪些问题不那么紧迫。这样您就可以简化 SQL 查询优化,节省时间和金钱,提高整体的 SQL 查询性能。
除了帮助您优化 SQL 查询,DPA 还通过减少存储在内存中的一次性查询计划的数量来帮助改善服务器引擎的内存使用量。一次性计划是存储在 SQL 服务器内存中但只使用一次的语句计划。DPA 增强了服务器搜索和定位现有 SQL 语句计划的能力,而不是创建新的计划。
获取更多关于 SQL 查询优化的信息
什么是 SQL 查询优化?
SQL 查询优化是成功维护数据库的组成部分。通过主动的 SQL 查询优化,开发人员可以减少瓶颈,实现可识别的性能改进。然而,要使这些优化工作取得成功,开发人员需要大量信息来确保他们针对的是数据库性能问题的正确根源。否则,他们可能会把时间浪费在优化糟糕或昂贵的查询上。
想知道如何检查 SQL Server 的查询性能?管理员在优化 SQL 时可能需要的部分性能指标包括:
- 执行情况
- 查询时间
- CPU 时间
- 逻辑和物理读数
除了建立基线和维护历史数据外,收集所有这些信息对于实现有效的 SQL 查询优化至关重要。然而,手动 SQL 查询优化往往很耗时,而且对于较紧急的任务很容易被忽略,其结果是人们可能在没有做好所有必要工作的情况下就尝试优化查询。这可能导致昂贵且不必要的硬件升级,而且并未解决最初的问题。
要确保您不浪费时间和金钱,您需要使用一个能够收集 SQL Server 中 SQL 查询优化所需信息的工具。利用 SQL 查询工具提供的可操作的洞察,您就可以高枕无忧,确定自己正在正确地执行优化工作。
为什么 SQL 查询性能调优如此重要?
人们在 SQL 查询优化方面犯的最大一个错误就是,认为修复 SQL 查询性能的方法是购买所有最新的硬件升级服务,而不考虑问题是否真的是硬件造成的,也不清楚到底是哪个硬件造成的。这就导致了在昂贵的升级上浪费金钱,而对解决 SQL 查询问题毫无帮助。
这个问题的解决方案在于 SQL 查询性能调优。通过高质量调优,您可以在购买昂贵的升级服务之前分析和优化现有的硬件资源。确保您提出最佳硬件建议的最好方法是借助调优顾问工具。
SolarWinds DPA 中的调优顾问工具旨在帮助使资源配置符合数据库性能需求,这可以为您提供有关硬件建议的更明确的信息,并帮助您了解(直至物理主机层)硬件如何影响性能。
如何使 SQL 查询的运行速度更快?
内存使用量对查询的执行速度有显著的直接影响。DBA 经常试图添加更多内存来加速 SQL Server 的性能,而没有解决真正的问题 - 编写不佳的查询。编写不佳的查询会过快地消耗可用内存,从而导致内存不足。
影响内存使用量并导致查询性能问题的因素包括:
- 页面预期寿命 (PLE)
- O/S 的内存使用量
- 计划缓存大小
- 内存分页速率
- 缓冲区缓存大小
- 缓冲区缓存命中率
- 过程缓存命中率
- 每秒日志字节数
- 每秒日志刷新数
- SQL 编译
PLE 是了解内存压力的一个特别重要的指标。如果 PLE 下降,那么页面就会被丢弃。这会造成内存压力,因为如果页面被丢弃,它们就不会留在内存中或被重新使用。
SQL 查询优化在 DPA 中如何工作?
DPA 旨在帮助 SQL 查询优化,让您快速深入查找 SQL 语句的等待时间意外或显著增加的根源。它的数据库异常检测算法旨在使用正常的历史数据来识别等待时间意外增加。然后,您可以使用趋势图查看一段时间内的变化,以帮助确定可能导致增加的原因。
DPA Query Performance Analyzer 还可以将查询的执行延迟与对终端用户的影响联系起来,从而帮助优化 SQL 数据库维护结果,这有助于更好地确定行动的优先次序。DPA 中的 Query Performance Analyzer 旨在集合与 SQL 查询最相关的数据,并在“查询详细信息”页面中清晰显示这些数据。除了“首要等待事件”图表和“调优”选项卡外,“查询详细信息”页面还包括智能汇集的图表,帮助您调查和解决性能问题。Query Performance Analyzer 使用关键信息(例如主要的等待类型)来自动将最相关的图表添加到“查询详细信息”页面中。您也可以根据需要手动添加其他图表。
借助“查询详细信息”页面,可以轻松了解如何检查 SQL Server 中的数据库性能。通过提供清晰的、可比较的可视化信息,Query Performance Analyzer 简化了寻找和理解查询问题的过程。由于当您滚动浏览其他图表时,“首要等待事件”图表会保持在顶部,因此这还让您能够更轻松地将一定时期的相关指标关联起来。
SolarWinds DPA 中的 SQL 查询优化和其他监控功能旨在帮助您更好地识别瓶颈,确定根源,并优先考虑您的行动以提高数据库性能。
什么是 SQL 查询优化?
SQL 查询优化是成功维护数据库的组成部分。通过主动的 SQL 查询优化,开发人员可以减少瓶颈,实现可识别的性能改进。然而,要使这些优化工作取得成功,开发人员需要大量信息来确保他们针对的是数据库性能问题的正确根源。否则,他们可能会把时间浪费在优化糟糕或昂贵的查询上。
想知道如何检查 SQL Server 的查询性能?管理员在优化 SQL 时可能需要的部分性能指标包括:
- 执行情况
- 查询时间
- CPU 时间
- 逻辑和物理读数
除了建立基线和维护历史数据外,收集所有这些信息对于实现有效的 SQL 查询优化至关重要。然而,手动 SQL 查询优化往往很耗时,而且对于较紧急的任务很容易被忽略,其结果是人们可能在没有做好所有必要工作的情况下就尝试优化查询。这可能导致昂贵且不必要的硬件升级,而且并未解决最初的问题。
要确保您不浪费时间和金钱,您需要使用一个能够收集 SQL Server 中 SQL 查询优化所需信息的工具。利用 SQL 查询工具提供的可操作的洞察,您就可以高枕无忧,确定自己正在正确地执行优化工作。
让 SQL 查询优化变得容易
Database Performance Analyzer
- 使用查询详细信息页面,可以轻松可视化您的 SQL 查询的性能指标。
- 从表调优顾问那里获得可操作的建议,以提高您的 SQL 查询性能。
- 通过监控开发、测试和生产服务器,在部署前解决 SQL 查询问题。