我正在寻找一个SQL Server2005查询,它将列出所有索引及其各自的STATISTICS_NORECOMPUTE值。我在sysindexes中没有看到任何与该值相对应的明显值。
发布于 2011-06-02 20:10:41
该列是sys.stats中的no_recompute,其内容为
每个索引都将有一个具有相同名称和ID (sys.indexes.object_id = sys.stats.object_id sys.indexes.index_id = sys.stats.stats_id)的相应统计数据行,但并非每个统计数据行都有相应的索引。
因此,sys.indexes和sys.stats之间的连接将为您匹配索引
原因:
可以用于列或索引
发布于 2014-02-14 05:10:16
您可以使用以下查询:
select TableName = so.name,
IndexName = si.name,
StatName = s.name,
s.no_recompute
from sys.indexes si
inner join sys.stats s on si.object_id = s.object_id
inner join sys.objects so on si.object_id = so.object_id
where no_recompute = 0
and so.[type] in ('U', 'V')
order by so.name, si.name, s.name发布于 2019-05-06 00:01:22
DoubleJ查询在我看来是错误的。您可以使用以下查询来查找无重新计算的索引:
SELECT
OBJECT_NAME(i.object_id) AS table_name,
i.name AS index_name,
s.name
FROM
sys.indexes AS i
LEFT JOIN sys.stats AS s
ON i.index_id = s.stats_id
AND i.object_id = s.object_id
WHERE
s.no_recompute = 1https://stackoverflow.com/questions/6214319
复制相似问题