SQL SERVER-Identificare i numeri di indice non cluster sulle tabelle per l’intero database

Ecco lo script che vi darà i numeri di indici non cluster su qualsiasi tabella in tutto il database.

SELEZIONA COUNT (i. TYPE) NoOfIndex,
= s.name, nome_tabella = o.name
DA sys.indici i
INNER JOIN sys.oggetti o SU i. = o. INNER JOIN sys.schemi s SU o. = s. DOVE o. DIGITARE ('U')
E i. DIGITARE = 2
RAGGRUPPARE PER s.name, o.nome
ORDINA PER schema_name, table_name

Ecco la piccola storia dietro perché questo script è stato necessario.

Recentemente sono andato a incontrare il mio amico nel suo ufficio e mi ha presentato al suo collega in ufficio come qualcuno che è un esperto di indicizzazione SQL Server. Ho detto educatamente che sto ancora imparando sull’indicizzazione e ho una lunga strada da percorrere. Il collega del mio amico ha subito detto-ha avuto un suggerimento per me relativo all’indice. Secondo lui stava cercando uno script che conterà tutti i non cluster su tutte le tabelle del database e non è stato in grado di trovarlo su SQLAuthority.com.

Sono rimasto un po ‘ sorpreso perché davvero non ricordo tutti i dettagli su ciò che ho scritto finora. Ho rapidamente tirato su il mio telefono e ho cercato di cercare lo script sul mio motore di ricerca personalizzato e aveva ragione. Non ho mai scritto uno script che conterà tutti gli indici non cluster sulle tabelle nell’intero database. L’indicizzazione eccessiva non è raccomandata in generale. Se hai troppi indici, influenzerà sicuramente negativamente le tue prestazioni. La query di cui sopra ti fornirà rapidamente i dettagli del numero di indici sulle tabelle dell’intero database. È possibile rapidamente sguardo e utilizzare i numeri come riferimento.

Si prega di notare che il numero dell’indice non è un’indicazione di indici errati. C’è un sacco di saggezza che posso scrivere qui, ma che non è lo scopo di questo post del blog. Ci sono molte regole diverse con indici e molti scenari diversi. Ad esempio, una tabella che è heap (nessun indice cluster) spesso non è raccomandata sul carico di lavoro OLTP (ecco il post del blog per identificarli), rilascia gli indici inutilizzati con un’attenta osservazione (ecco lo script per esso), identifica gli indici mancanti e dopo un attento test aggiungili (ecco lo script per esso). Anche se ho dato alcuni link qui è solo la punta dell’iceberg. Se segui solo quattro consigli, la tua nave potrebbe ancora affondare. Coloro che vogliono imparare l’argomento in profondità possono guardare i video qui dopo l’accesso.

Nota: Si modifica il tipo di condizione where a 6 per l’indice di archiviazione di colonne non cluster.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.