首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不更改查询的情况下提高SQL查询性能

如何在不更改查询的情况下提高SQL查询性能
EN

Stack Overflow用户
提问于 2016-05-18 06:32:06
回答 4查看 1.3K关注 0票数 0

我有一个项目,在那里我有非常复杂的查询(遗产项目)有很多查询,项目中的存储过程等。查询有10-30个连接和缓慢的过滤。项目不能立即修改(至少需要一年的工作时间)

是否有硬件方法可以提高性能。我可以使用一些具有更高计算能力的智能Azure设置来提高速度吗?或者,我需要在物理服务器中查找哪些内容?

EN

回答 4

Stack Overflow用户

发布于 2018-10-10 15:55:22

在查询中避免在单个Query.

  • Eliminate游标中使用多个联接。
  • 避免使用Query.
  • Eliminate子查询。
  • 避免使用多语句表值函数Indexes.
  • Understand
    • 在哈希表中与实际表分开创建高度选择性的索引筛选器数据
    • 对包含大量数据的每个表执行此操作,然后在存储过程中对哈希表而不是实际表应用联接以合并结果。
票数 1
EN

Stack Overflow用户

发布于 2016-05-18 06:40:34

硬件方法:

controller.

  • Additional主板和磁盘处理器上的
  • 更多内存(可能需要不同的SQL Server license).
  • Faster存储设备。
  • 如果数据位于外部SAN设备上,请考虑切换到连接类型更快的设备(光纤通道与iSCSI、以太网ATA (AoE)或HyperSCSI)
票数 0
EN

Stack Overflow用户

发布于 2016-05-18 07:31:33

你可以使用Standard and Premium订阅来扩展你的性能。因此,如果你的查询速度很慢,你总是可以投入更多的硬件,而你只在需要的时候才这样做。您可以将您的数据库设置为自动扩展,因此当您的需求较低时,您需要支付的费用较少,而当需求较高时,您的工作负载不会受到影响。

Azure提供了QPI,它基本上可以识别出你的哪些查询是最昂贵的,这样你就可以首先优化它们。

Azure还提供了不同的顾问,比如index advisor,它将学习你如何使用你的数据库,并建议创建或删除索引-最好的事情是它可以自动为你做这件事。

如果你考虑的是本地解决方案,你应该考虑操作系统成本和硬件成本,以及正确设置和配置的时间和成本。创建地理复制设置可能会增加另一个级别的复杂性。因此,如果你需要重新开始,并且你的业务需求允许云服务,我会说Azure是一条可行的道路,因为它提供了丰富的遥测和各种智能数据库功能(它们将逐月推出)。此外,不要忘记Azure大约每月更新一次,而box版本在半年或更长时间后会获得累积的更新包。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37287264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档