Temat: Indeksy


Temat: Indeksy
Data: 2013-06-01
Treść:
Oto kilka uwag:
- brakujące zdaniem sql server indeksy można zidentyfikować poprzez dynamiczny widok sys.dm_db_missing_index_details. Istnieje cała grupa takich widoków sys.dm_db_missing_index_XXX - indeksy mają tą przykrą cechę, że w miare z upływem czasu ulegają defragmentacji. Jeśli jej poziom jest wyższy niż 40-60% zalecana jest juz przebudowa indeksu. Aby znaleśc takie objekty można wykonać zapytanie:
select b.name tabela, c.name indeks, a.* 
from sys.dm_db_index_physical_stats(db_id('nazwa_bazy'), NULL, NULL, NULL , 'DETAILED') a, sys.objects b, sys.indexes c 
where a.object_id=b.object_id 
   and a.object_id=c.object_id 
   and a.index_id=c.index_id 
   and a.avg_fragmentation_in_percent>60 
order by a.avg_fragmentation_in_percent desc; 
A następnie przebudować każdy taki indeks poleceniem:
alter index nazwa_indeksu on nazwa_tablicy rebuild
<< Powrót <<

powered by sw