Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何调整查询_Sql Server_Sql Tuning - Fatal编程技术网

Sql server 如何调整查询

Sql server 如何调整查询,sql-server,sql-tuning,Sql Server,Sql Tuning,我有一个正在缓慢运行的查询。我通常知道如何提高性能,限制连接,并尝试使用过程而不是直接查询。由于业务规则,我无法使用procs。我已经尽我所能减少了连接的数量 查询优化的下一步是什么?添加索引可能是提高查询性能的首要方法,但您没有提到这一点 您是否查看了执行计划,以了解是否可以通过附加索引来改善这一点 此外,您应该确保您的查询是以这样的方式编写的,以便它们能够有效地使用任何存在的索引(例如,避免不可搜索的构造,避免*)添加索引可能是您可以做的提高查询性能的第一件事,您没有提到 您是否查看了执行计

我有一个正在缓慢运行的查询。我通常知道如何提高性能,限制连接,并尝试使用过程而不是直接查询。由于业务规则,我无法使用procs。我已经尽我所能减少了连接的数量


查询优化的下一步是什么?

添加索引可能是提高查询性能的首要方法,但您没有提到这一点

您是否查看了执行计划,以了解是否可以通过附加索引来改善这一点


此外,您应该确保您的查询是以这样的方式编写的,以便它们能够有效地使用任何存在的索引(例如,避免不可搜索的构造,避免
*

添加索引可能是您可以做的提高查询性能的第一件事,您没有提到

您是否查看了执行计划,以了解是否可以通过附加索引来改善这一点


此外,您应该确保您的查询是以这样的方式编写的,以便它们可以有效地使用任何存在的索引(例如,避免非可搜索的构造,避免
*

最简单的方法是转到management studio运行以下命令:

SET SHOWPLAN_ALL ON
然后运行实际的查询


您将无法获得常规查询结果集。它将在一个结果集中为您提供执行计划(一个非常详细的SQL Server执行查询的操作列表)。查看输出并尝试了解其含义。我通常寻找“扫描”,这是一个缓慢的部分,我尝试重写它,以便它使用索引。

最简单的方法是转到management studio运行以下命令:

SET SHOWPLAN_ALL ON
然后运行实际的查询


您将无法获得常规查询结果集。它将在一个结果集中为您提供执行计划(一个非常详细的SQL Server执行查询的操作列表)。查看输出并尝试了解其含义。我通常寻找“扫描”,这是一个缓慢的部分,我尝试重写它,使其使用索引。

还避免逐行处理,这意味着尽可能摆脱相关子查询和游标。此外,许多人忘记在系统中的FKs上放置索引,PKs会自动索引,FK不是。也要避免逐行处理,这意味着尽可能摆脱相关的子查询和游标。此外,许多人忘记在系统中为FK添加索引,PK是自动索引的,FK不是。查询优化是一个非常大的领域,从您所写的内容无法判断您在这方面有多熟练。如果您提供一个示例查询并详细告诉我们您尝试了什么,那会更好。我甚至不知道你是否考虑过索引,或者你是否已经用所有合理的索引衡量了性能,但仍然感到困惑。如果返回的数据不同,那么切断连接不是一个好主意。这通常不是一种性能优化的好方法,因为您通常会丢失信息。查询优化是一个非常大的领域,从您所写的内容无法判断您在这方面的熟练程度。如果您提供一个示例查询并详细告诉我们您尝试了什么,那会更好。我甚至不知道你是否考虑过索引,或者你是否已经用所有合理的索引衡量了性能,但仍然感到困惑。如果返回的数据不同,那么切断连接不是一个好主意。这通常不是调整性能的好方法,因为您通常会丢失信息。