提速指数

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的关键字段吗?如果是这样,它们已经编入索引。

我会说您正在查看两个索引:

  1. TableA 上包含 ID 的 OtherID 的索引。这将有助于 SQL 找到 OtherID 的值和 return 与它们关联的 ID。

  2. 表 B 上 ID 的索引,包括 FirstName 和 LastName。这将有助于 SQL 加入并节省返回 FirstName 和 LastName 行的行程。