【发布时间】:2011-12-16 11:22:04
【问题描述】:
我有一个包含(例如缩短)这些列的日志表:
user | time | uniqueid | msg
还有一个主键
user,time,uniqueid
和
上的聚集索引user
现在这张表只做三件事:
- 插入一个条目
- 删除所有早于 x 的条目
- 为用户选择条目(一次最多 1k)
选择很少发生,插入总是发生,删除是每晚一次。
如果我理解正确,聚集索引将使选择非常快。 由于数据量很大,我注意到删除将花费很长时间,而且我想这会因为聚集索引而变得更糟。它是否正确?此外,它还可能使插入速度变慢(但数量很少,因此可能不会那么容易注意到)
我的想法是:
- 将聚集索引设置为时间
- 由于从未真正使用过主键(没有任何内容引用此表或任何内容),是否只需删除它并在用户上为选择创建另一个索引是否有意义?
优化它的最佳方法是什么?
【问题讨论】:
标签: sql-server-2008-r2 clustered-index