提速指数
Speed Improving Index
我有一个相当基本的查询,如下所示,我需要经常并尽可能快地执行它:
Select
B.ID, B.FirstName, B.LastName
From
TableA as A
Join
TableB as B on A.ID = B.ID
Where
A.OtherID = @Input
所以我的想法是创建一个参数为@Input
的存储过程。我认为由于执行计划保存在服务器端,因此可以提高速度。
但是我想进一步增加它并认为索引可能会有所帮助。但是我对索引的处理不多,只是读了一点。
你需要哪些信息来帮助我建立一个有用的索引?
索引有帮助吗?
此外,此存储过程将从 Excel 2013 年起调用,如果这对我们可以做的其他事情有所不同,我们可以加快速度。
我们正在使用 SQL Server 2012。
SQL Server Management Studio 非常擅长推荐索引。 运行 你的查询,看看它说了什么。
在不了解您的架构或 OLAP 模式的情况下,我只能提出建议...
"ID"是表Aand/or表B的关键字段吗?如果是这样,它们已经编入索引。
我会说您正在查看两个索引:
TableA 上包含 ID 的 OtherID 的索引。这将有助于 SQL 找到 OtherID 的值和 return 与它们关联的 ID。
表 B 上 ID 的索引,包括 FirstName 和 LastName。这将有助于 SQL 加入并节省返回 FirstName 和 LastName 行的行程。
我有一个相当基本的查询,如下所示,我需要经常并尽可能快地执行它:
Select
B.ID, B.FirstName, B.LastName
From
TableA as A
Join
TableB as B on A.ID = B.ID
Where
A.OtherID = @Input
所以我的想法是创建一个参数为@Input
的存储过程。我认为由于执行计划保存在服务器端,因此可以提高速度。
但是我想进一步增加它并认为索引可能会有所帮助。但是我对索引的处理不多,只是读了一点。
你需要哪些信息来帮助我建立一个有用的索引? 索引有帮助吗?
此外,此存储过程将从 Excel 2013 年起调用,如果这对我们可以做的其他事情有所不同,我们可以加快速度。
我们正在使用 SQL Server 2012。
SQL Server Management Studio 非常擅长推荐索引。 运行 你的查询,看看它说了什么。
在不了解您的架构或 OLAP 模式的情况下,我只能提出建议...
"ID"是表Aand/or表B的关键字段吗?如果是这样,它们已经编入索引。
我会说您正在查看两个索引:
TableA 上包含 ID 的 OtherID 的索引。这将有助于 SQL 找到 OtherID 的值和 return 与它们关联的 ID。
表 B 上 ID 的索引,包括 FirstName 和 LastName。这将有助于 SQL 加入并节省返回 FirstName 和 LastName 行的行程。