【问题标题】:Need help on indexing using SQL server 2005需要有关使用 SQL Server 2005 进行索引的帮助
【发布时间】:2012-08-21 12:36:42
【问题描述】:

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

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

【问题讨论】:

  • 索引外键列是我建议的第一件事。但请理解,索引并不能确保性能提升,并且会对插入/更新产生负面影响。

标签: sql sql-server tsql sql-server-2005 indexing


【解决方案1】:

首先编写您的查询。看看查询关心的是什么。

您需要在连接中涉及的任何键、where 子句中的键以及可能对结果集影响最大的表的主键上建立索引(可能使用INCLUDE 来获取其他结果集中的列可用而无需点击表格)。

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

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

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

【讨论】:

    猜你喜欢
    • 2011-07-10
    • 2012-03-05
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多