我有一个非常大的表(> 10M 行),经常进行 crud 操作。它有适当的索引,但它们很快就会碎片化。如果没有定期的索引重组/重建维护计划,索引碎片很容易超过 90%。
现在我已经通过每天重新组织索引和每周重建来解决这个问题。我还使用了填充因子等来降低碎片化。
我的主要问题是,当索引过于分散时,SQL Server 会忽略索引并执行全表扫描。当这种情况发生时,它几乎杀死了应用程序,因为重复扫描如此大的表真的很繁重。我很确定在这些情况下使用碎片索引会更快。
有没有办法让 SQL Server 使用索引而不管它的碎片如何?