【发布时间】:2012-07-18 04:33:18
【问题描述】:
在创建表开始时为您的 sql server db 创建索引是一种做法吗? 还是取决于此表的性能(或者说缺乏),所以稍后再创建?
【问题讨论】:
-
这是一个非常广泛的主题......
-
有些指标可以在产品规划时进行估算。在部署产品之后,可能会在以后出现对其他人的需求。
-
(1) 始终在您的表上创建 良好 聚集索引,(2) 索引您的外键列(以加快 JOIN 等),以及 (3) 观察你的系统。如果您遇到性能问题,请分析哪些附加索引可能会有所帮助 - 添加一个或两个 - 再次观察。不要过度索引 - 索引会带来开销,拥有未使用的索引比没有索引更糟糕。
-
取决于您的数据库的性能和每天存储在您的数据库中的数据量。默认情况下,当您将列设置为表中的主键时,会在您的表上创建一个聚集索引。当该表中的数据增加时,即超过 10,000+ 并且您的存储过程需要很长时间(超过 4 秒),以防在加入两个或多个表后行超过 10000+ 来获取数据。那么你应该考虑实现索引。在表中更新和插入数据时,实现索引也会降低性能。
标签: sql-server sql-server-2008 indexing