我已经在 ServerFault 上发布了这个,但没有多少运气得到回应。
我有一个相当大的 SQL Server 数据库(~2TB)。大多数数据都在一个表中(约 60 亿行)。
两周前,我在大表上删除了两个非聚集索引,并将数据迁移到单个 6TB RAID SSD 阵列上。然后我重新创建了两个需要很长时间的索引(假设因为我目前有数据(用于表和索引)并登录到同一个阵列上,似乎使用 RAID 我不能有快速的顺序和随机 r/w同时)。
无论如何,在重新创建索引后,它运行了大约一个星期。在这一周中,我一直在大桌子上慢慢清理,它只是删除了旧的不需要的行。到目前为止,我已经从 60 亿中删除了大约 3 亿,而且我猜测我还有很多事情要做。
现在像这样运行了大约一个星期后,它现在运行得很慢,我不确定哪个最好。
现在的情况:
大表目前有(我之前没有任何碎片信息):
你认为什么最能解决我的问题
碎片化的索引会导致更高的 CPU 使用率吗?
还有什么我可能会错过的吗?
TIA