我有一个表具有主键作为集群GUID字段;我使用NEWSEQUENTIALID()
而不是NEWID
生成GUID。不幸的是,因为这个表每天看到〜25k-100k的插入,在几个小时内(默认:集群)主键索引变成99%碎片。25k插入每日99%碎片集群GUID索引
我最初使用NEWID
而不是生成顺序ID,但即使重新创建表并重新插入使用NEWSEQUENTIALID
(并指定作为主键列的默认值)的所有行,我仍然看到顺序中的碎片在几个小时内达到99%。 (该表目前有大约130万条记录
我曾想过用一个整数主键替换GUID,但我不确定这是否会起作用;另外,因为我们的团队使用主键的GUID而不是整数前进,我不认为我会有足够的买进来做到这一点。
什么是我的选项,以保持这个东西整理?我使用SQL Server Express,所以我没有有权访问SQL代理(因此不能定期运行维护计划来重建索引)
我也可能很可能在将来的某个时间点拆分此数据库/表(由于数据量),所以我可能需要合并表的GUID。
另外:我不能使用索引视图,因为我有一个内部选择,这将很难放松到一个连接。
也许这应该被转移到dba.SE网站? – ashes999 2012-01-17 13:57:07