SQL服务器性能调优技巧

查询调优通常是加速SQL服务性能的最快方法。大多数情况下,系统级服务器性能(内存、处理器等)改进措施既无效又昂贵。专家开发人员认为,大多数性能问题都可以追溯到编写不当的查询和低效的索引,而不是硬件限制。事实上,有些性能问题只能通过查询调优来解决。

SQL服务器性能调优技巧

但是当涉及到SQL服务器性能查询调优时,DBA 经常会遇到从哪里开始的问题。您如何评估查询?您如何发现查询编写方式中的缺陷?您如何发现隐藏的改进机会?查询优化一半是科学,一半是艺术,因为没有正确或错误的答案,只有最适合给定情况的解决方案。

这里有 12 个快速提示,可以帮助 DBA 以可衡量的方式提高查询性能,同时确保特定更改确实提高了查询速度。

1. 基本查询分析

DBA 需要了解所有层和有关昂贵查询的信息,以便隔离根本原因。有效的调优需要了解排名靠前的 SQL 语句、排名靠前的等待类型、SQL 计划、阻塞的查询、资源争用以及缺少索引的影响。从基础开始——在你投入之前准确地了解你正在处理的是什么会有所帮助。

提示 1:了解您的表和行数

首先,确保您实际操作的是表,而不是视图或表值函数。表值函数有其自身的性能影响。您可以使用 SSMS 将鼠标悬停在查询元素上以检查这些详细信息。通过查询 DMV 检查行数。

SQL服务器性能调优技巧

技巧 2:检查查询过滤器、WHERE 和 JOIN 子句并注意过滤的行数

如果没有过滤器,并且返回了大部分表,请考虑是否需要所有数据。如果根本没有过滤器,这可能是一个危险信号,需要进一步调查。这确实会减慢查询速度。

技巧 3:了解表格的选择性

根据前两个技巧中的表格和过滤器,了解您将使用多少行,或实际逻辑集的大小。我们建议使用 SQL 图表作为评估查询和查询选择性的强大工具。

技巧 4:分析额外的查询列

仔细检查 SELECT * 或标量函数以确定是否涉及额外的列。您带回的列越多,使用某些索引操作的执行计划可能变得越不理想,而这反过来又会降低性能。

2.高级查询分析

提示 5:了解和使用约束会有所帮助

了解和使用约束会在您开始调优时有所帮助。查看现有的键、约束、索引,以确保避免重复工作或与已存在的索引重叠。要获取有关索引的信息,请运行 sp_helpindex 存储过程:

技巧 6:检查实际执行计划(而非估计计划)

估计计划使用估计统计信息来确定估计行;实际计划在运行时使用实际统计信息。如果实际计划和估计计划不同,您可能需要进一步调查。

技巧 7:记录您的结果,重点关注逻辑 I/O 的数量

如果您不记录结果,您将无法确定更改的真正影响。

提示 8:根据您的发现调整查询并一次进行小的、单一的更改一次

进行过多的更改可能是无效的,因为它们会相互抵消!首先寻找最昂贵的操作。没有正确或错误的答案,只有最适合给定情况的答案。

技巧 9:重新运行查询并记录所做更改的结果

如果您发现逻辑 I/O 有所改进,但改进还不够,请返回技巧 8 检查可能需要调整的其他因素。继续一次进行一项更改,重新运行查询并比较结果,直到您对已解决所有可能的昂贵操作感到满意为止。

技巧 10:如果您还需要更多改进,请考虑调整索引以减少逻辑 I/O

添加或调整索引并不总是最好的做法,但如果您不能更改代码,这可能是唯一的选择你可以做。您可以考虑对现有索引、覆盖索引和过滤索引进行改进。

技巧 11:重新运行查询并记录结果

如果您进行了调整,请重新运行查询并再次记录这些结果。

提示 12:设计出愚蠢的

Lookout 以防止经常遇到的性能抑制因素,例如:代码优先生成器、滥用通配符、标量函数、嵌套视图、游标和逐行处理。

3. 使用数据库性能监控工具来促进查询调优。

传统的数据库监控工具专注于健康指标。当前的应用程序性能管理工具提供提示,但不能帮助找到根本原因。

提示:通过使用连续的数据库性能监控解决方案,您可以大大简化查询调优。数据库性能监控工具的推荐包括:

SolarWinds ®数据库性能分析器 (DPA)

SolarWinds Database Performance Analyzer (DPA) 可以将性能信息整合到一个地方。使用 DPA,您可以:

  • 识别延迟的特定查询
  • 识别导致延迟的特定瓶颈(等待事件)
  • 显示已识别瓶颈的时间影响

SolarWinds® SQL Sentry

SQL Sentry 是另一种SQL服务器性能调整工具,可以帮助您解决性能问题。使用 SQL Sentry,您可以查看历史性能并检测问题以更快地开始故障排除。

SQL 哨兵功能包括:

  • 深入了解过去的SQL服务器性能 – 回到过去查看发生了什么变化
  • 查看 Top SQL 查询、阻塞和死锁分析——查看特定时刻以更好地了解正在运行的查询并分析阻塞详细信息
  • 优化查询——使用内置的 Plan Explorer 工具,您可以更轻松地分析查询统计信息和查看查询计划图

文章链接: https://www.mfisp.com/18798.html

文章标题:SQL服务器性能调优技巧

文章版权:梦飞科技所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
服务器vps推荐

美国服务器对网络攻击的应对方案

2023-3-22 15:48:52

服务器vps推荐

选择理想的服务器位置及其重要性

2023-3-23 11:25:01

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
客户经理
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

梦飞科技 - 最新云主机促销服务器租用优惠