1

我有一个表,paymentdetails有一个列paymentstatus(有一个检查约束,将值限制为已付款或待处理)。此外,还有一个表格patientdetails,其中包含有耐心ID、地址......列

我想创建一个索引,以加快为每个初始付款待处理的患者提取患者详细信息的执行速度。

4

1 回答 1

2

先写下你的查询。看看查询关心什么。

您需要对连接中涉及的任何键、where 子句中的键以及可能对结果集影响最大的表的主键(可能INCLUDE用于使结果集中的其他列可用)的索引不打桌子)。

“过滤索引”(部分索引的 SQLServer 术语,出于某种未知原因)会很好,但 SQLServer 自 2008 年以来才拥有这些。

但前者是理论,而后者只是一个很好的知识,直到您开始使用 2008。实际检查如何执行查询是真实的。

还要考虑这样一个事实,即您的索引将加速其他 SELECT 以及 UPDATE 和 DELETE 的 WHERE 部分,但否则会稍微减慢 UPDATE、DELETE 和 INSERT。因此,您不想发疯地将索引绝对放在任何地方,但您确实希望特别热衷于那些最有可能在其他查询中使用的索引。

于 2012-08-27T00:17:47.640 回答