2011-06-02 17 views

Respuesta

7

La columna es no_recompute en sys.stats que dice

Cada índice tendrá una fila estadísticas correspondiente con el mismo nombre y ID (sys.indexes.object_id = sys.stats.object_id Y sys.indexes.index_id = sys.stats.stats_id), pero no todas las filas de estadísticas tienen un índice correspondiente.

Así que una unión entre sys.indexes y sys.stats coincidirá con el índice para que

Motivo:

  • estadísticas pueden ser para las columnas o índices
  • un índice tiene exactamente una estadística.
  • STATISTICS_NORECOMPUTE se aplica a la estadística para dicho índice, no el propio índice
3

Puede utilizar esta consulta:

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 
Cuestiones relacionadas