速度提升指数

时间:2016-06-17 15:43:33

标签: performance indexing sql-server-2012 excel-2013

我有一个相当基本的查询,如下所示,我需要经常并尽可能快地执行:

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。

1 个答案:

答案 0 :(得分:1)

SQL Server Management Studio非常擅长推荐索引。运行您的查询,看看它的内容。

在不了解您的架构或OLAP模式的情况下,我只能提出建议......

是" ID" TableA和/或TableB中的关键字段?如果是这样,他们已经编入索引。

我说你正在看两个索引:

  1. TableA上包含ID的OtherID的索引。这将帮助SQL查找OtherID的值并返回与其关联的ID。

  2. TableB上包含FirstName和LastName的ID的索引。这将帮助SQL进行连接并将行程保存回FirstName和LastName的行。