Deutsche SQL Server Konferenz  minimieren 

Deutsche SQL Server Konferenz


DMV: Index Usage

Mai 9

Written by:
09.05.2009 07:07  RssIcon

DMV: Index Usage

Eine der guten Neuerungen im MS SQL 2005 (ja, ich weiß, es gibt schon den 2008 … wir hinken etwas hinterher ), sind die DMV = Dynamic Management Views (Dynamische Verwaltungssichten), die im Schema sys jeder Datenbank liegen.

Sie erlauben einen, Statusinformation des Servers abzurufen und so auch frühzeitig Probleme und Schwachstellen zu erkennen.

Nach der Migration auf SQL2005 beobachte ich als erstes die Ergebnisse aus dem DMV zu den Indexstatistiken. Wie ich hier selektiere und vorgehen, will ich ab und an hier mal vorstellen.  

Die erste DMV ist sys.dm_db_index_usage_stats, hier wird vermerkt, welcher Index wie häufig verwendet wurde.  

Hier mal mein SQL Statement zur Selektion:  

SELECT SCH.name as SchemaName, OBJ.name AS TableName,

       IDX.name AS IndexName, IDX.type_desc AS IndexType,

       IUS.user_scans, IUS.last_user_scan,

       IUS.user_seeks, IUS.last_user_seek,

       IUS.system_scans, IUS.last_system_scan,

       IUS.system_seeks, IUS.last_system_seek

FROM sys.dm_db_index_usage_stats AS IUS

     INNER JOIN sys.indexes AS IDX

         ON IUS.index_id = IDX.index_id

            AND IUS.object_id = IDX.object_id

     INNER JOIN sys.objects AS OBJ

         ON IDX.object_id = OBJ.object_id

     INNER JOIN sys.schemas AS SCH

         ON OBJ.schema_id = SCH.schema_id

WHERE IUS.database_id = DB_ID()     -- Nur aktuelle DB betrachten

      AND IDX.type > 0              -- Keine Heaps

      AND OBJ.type = 'U'            -- Nur Userobjekte

      AND (IUS.user_scans + IUS.user_seeks

           + IUS.system_scans + IUS.system_seeks) > 0

           -- Min. einmal verwendet

ORDER BY (IUS.user_scans + IUS.user_seeks

          + IUS.system_scans + IUS.system_seeks) DESC,

         IUS.last_user_scan DESC, IUS.last_user_seek DESC

 

Im Umkehrschluss gilt übrigens, dass Indizes, die nicht in der Statistik erscheinen, nicht verwendet werden und somit im Laufe der Zeit weg können; sie verringern nur den Schreibzugriff.

Dazu später mehr.  

Übrigens, um das Script ausführen zu dürfen, braucht man min. die Berechtigung VIEW SERVER STATE.

 

(DMV: Index Usage)

Tags:
Categories:

Your name:
Gravatar Preview
Your email:
(Optional) Email used only to show Gravatar.
Your website:
Title:
Comment:
Add Comment   abbrechen 
Unser Newsletter  minimieren 

Unseren aktuellen Newsletter im PDF-Format gibt es hier zum Download:

 Das Newsletterarchiv ist im Mitgliedsbereich zugänglich.

 


 


Suche  minimieren