Kategorie szkoleń | Egzaminy | Kontakt

Odpowiedź (1)

  • 4

Można to zrobić na kilka sposobów. Ja preferuję odpytanie widoku sys.indexes, który zawiera informacje o wszystkich indeksach, w tym również o tabelach nie posiadających indeksu klastrowego ;) Aby wyszukać takie tabele, należy wykonać następujące zapytanie:

 

SELECT *
FROM sys.indexes
WHERE index_id=0

 

Więcej informacji na temat tego widoku jest dostępnych w BOL. Dobrą ilustracją takiej sytuacji (tzn. wyświetlenia tabelki nie posiadającej indeksu

 

klastrowego w widoku sys.indexes) jest ten fragment webinarium poświęconego indeksom i widokom: 

 

Inną metodą może być skorzystanie z funkcji  sys.dm_db_index_physical_stats(), gdzie tak samo jak w przypadku sys.indexes, dodajemy warunek  index_id=0. Opis funkcji i jej wywołania znajduje się w BOL.

Ponieważ funkcja sys.dm_db_index_physical_stats() zwraca dodatkowe informacje pozyskane w procesie skanowania informacji zawartej na stronach, na których zapisana jest tabela, to do szybkiego wyszukania tabel posiadających/nie posiadających indeksów klastrowych sugeruję skorzystanie z widoku sys.indexes.

  • Odpowiedział
  • @ | 12.02.2014
  • TRENER ALTKOM AKADEMII