是否有总索引碎片的指标?

Is there an indicator of total index fragmentation?

我使用 ola.hallengren.com 中的 IndexOptimize 来维护我的索引。

我安排每周执行 IndexOptimize 以获得良好的性能,此外,我在我的应用程序的管理表单上添加了一个按钮 "Optimize indexes now"。这将调用 IndexOptimize.

在此之后是 运行 我想向用户显示当前情况的指标。

我发现的最简单的事情是显示索引物理统计数据的平均值 table:

SELECT
AVG(avg_fragmentation_in_percent) as OverallFragmentationIndicator
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL)

想法是在操作前后显示指标让用户"see some improvement"。 你知道更可靠的方法吗?

最后我选择

解决了我的困境
SELECT
AVG(avg_fragmentation_in_percent) as OverallFragmentationIndicator
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL)

作为指标。

此外,我计划每月执行一次 IndexOptimize,并且我希望在很长一段时间内不会在我的数据库中找到任何损坏的索引或需要重建的索引。