【发布时间】:2014-10-22 16:19:02
【问题描述】:
我正在清理数据库,但由于流量过大而存在性能问题。读写。但繁忙的交通每年只有几天。
我怀疑一个问题是很多频繁使用的表没有聚集索引。但它们确实有一个主键和一个与之相关的唯一非聚集索引,该索引仅在主键上(不包含)。
这在任何时候都是一种有益的方法吗?
我的猜测是有人认为如果数据库不必插入聚集索引中的所有列会更快(我自己不会这样做,所以我不知道该方法背后的疯狂)。
我正在开始对这些表应用聚集索引的任务,但想在我走得太远之前调查更聪明的人,看看这样的策略是否会有所帮助?
我认为失去与聚集索引的连接会超过这可能带来的任何好处?
【问题讨论】:
-
你是说支持主键的索引是非聚集的?因为那很不寻常。通常,主键也是聚集索引,这可能是最优的,也可能不是最优的,但这是另一回事。
-
是的。有一个字段被指定为主键。在该字段(并且仅该字段)上定义了一个唯一的非聚集索引。它是表中唯一的索引。我知道这很奇怪。我以前从未见过。
标签: sql sql-server database-administration