查询调优通常是加速sql服务器性能的最快方法。大多数情况下,系统级服务器性能(内存、处理器等)改进措施既无效又昂贵。专家开发人员认为,大多数性能问题都可以追溯到编写不当的查询和低效的索引,而不是硬件限制。事实上,有些性能问题只能通过查询调优来解决。,,但是当涉及到SQL服务器性能查询调优时,DBA 经常会遇到从哪里开始的问题。您如何评估查询?您如何发现查询编写方式中的缺陷?您如何发现隐藏的改进机会?查询优化一半是科学,一半是艺术,因为没有正确或错误的答案,只有最适合给定情况的解决方案。,这里有 12 个快速提示,可以帮助 DBA 以可衡量的方式提高查询性能,同时确保特定更改确实提高了查询速度。,DBA 需要了解所有层和有关昂贵查询的信息,以便隔离根本原因。有效的调优需要了解排名靠前的 SQL 语句、排名靠前的等待类型、SQL 计划、阻塞的查询、资源争用以及缺少索引的影响。从基础开始——在你投入之前准确地了解你正在处理的是什么会有所帮助。,
提示 1:了解您的表和行数,首先,确保您实际操作的是表,而不是视图或表值函数。表值函数有其自身的性能影响。您可以使用 SSMS 将鼠标悬停在查询元素上以检查这些详细信息。通过查询 DMV 检查行数。,,
技巧 2:检查查询过滤器、WHERE 和 JOIN 子句并注意过滤的行数,如果没有过滤器,并且返回了大部分表,请考虑是否需要所有数据。如果根本没有过滤器,这可能是一个危险信号,需要进一步调查。这确实会减慢查询速度。,
技巧 3:了解表格的选择性,根据前两个技巧中的表格和过滤器,了解您将使用多少行,或实际逻辑集的大小。我们建议使用 SQL 图表作为评估查询和查询选择性的强大工具。,
技巧 4:分析额外的查询列,仔细检查 SELECT * 或标量函数以确定是否涉及额外的列。您带回的列越多,使用某些索引操作的执行计划可能变得越不理想,而这反过来又会降低性能。,
提示 5:了解和使用约束会有所帮助,了解和使用约束会在您开始调优时有所帮助。查看现有的键、约束、索引,以确保避免重复工作或与已存在的索引重叠。要获取有关索引的信息,请运行 sp_helpindex 存储过程:,
技巧 6:检查实际执行计划(而非估计计划),估计计划使用估计统计信息来确定估计行;实际计划在运行时使用实际统计信息。如果实际计划和估计计划不同,您可能需要进一步调查。,
技巧 7:记录您的结果,重点关注逻辑 I/O 的数量,如果您不记录结果,您将无法确定更改的真正影响。,
提示 8:根据您的发现调整查询并一次进行小的、单一的更改一次,进行过多的更改可能是无效的,因为它们会相互抵消!首先寻找最昂贵的操作。没有正确或错误的答案,只有最适合给定情况的答案。,
技巧 9:重新运行查询并记录所做更改的结果,如果您发现逻辑 I/O 有所改进,但改进还不够,请返回技巧 8 检查可能需要调整的其他因素。继续一次进行一项更改,重新运行查询并比较结果,直到您对已解决所有可能的昂贵操作感到满意为止。,
技巧 10:如果您还需要更多改进,请考虑调整索引以减少逻辑 I/O,添加或调整索引并不总是最好的做法,但如果您不能更改代码,这可能是唯一的选择你可以做。您可以考虑对现有索引、覆盖索引和过滤索引进行改进。,
技巧 11:重新运行查询并记录结果,如果您进行了调整,请重新运行查询并再次记录这些结果。,
提示 12:设计出愚蠢的,Lookout 以防止经常遇到的性能抑制因素,例如:代码优先生成器、滥用通配符、标量函数、嵌套视图、游标和逐行处理。,传统的数据库监控工具专注于健康指标。当前的应用程序性能管理工具提供提示,但不能帮助找到根本原因。,提示:通过使用连续的数据库性能监控解决方案,您可以大大简化查询调优。数据库性能监控工具的推荐包括:,
SolarWinds ®数据库性能分析器 (DPA),SolarWinds Database Performance Analyzer (DPA) 可以将性能信息整合到一个地方。使用 DPA,您可以:,
SolarWinds® SQL Sentry,SQL Sentry 是另一种SQL服务器性能调整工具,可以帮助您解决性能问题。使用 SQL Sentry,您可以查看历史性能并检测问题以更快地开始故障排除。,SQL 哨兵功能包括:,
,查询调优通常是加速SQL服务器性能的最快方法。大多数情况下,系统级服务器性能(内存、处理器等)改进措施既无效又昂贵。专家开发人员认为,大多数性能问题都可以追溯到编写不当的查询和低效的索引,而不是硬件限制。事实上,有些性能问题只能通过查询调优来解决。,,进行过多的更改可能是无效的,因为它们会相互抵消!首先寻找最昂贵的操作。没有正确或错误的答案,只有最适合给定情况的答案。
SQL服务器性能调优技巧
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《SQL服务器性能调优技巧》
文章链接:https://zhuji.vsping.com/503333.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
文章名称:《SQL服务器性能调优技巧》
文章链接:https://zhuji.vsping.com/503333.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。