Ho trovato molte informazioni su cosa STATISTICS
sono: come vengono gestite, come possono essere create manualmente o automaticamente da query o indici e così via. Ma non sono stato in grado di trovare alcuna guida o informazione sulle "migliori pratiche" in merito a quandoper crearli: quali situazioni beneficiano maggiormente di un oggetto STATISTICA creato manualmente che di un indice. Ho visto statistiche filtrate create manualmente che aiutano le query su tabelle partizionate (perché le statistiche create per gli indici coprono l'intera tabella e non sono per partizione - brillante!), Ma sicuramente ci devono essere altri scenari che trarrebbero beneficio da un oggetto statistico mentre non necessita del dettaglio di un indice, né vale la pena sostenere il mantenimento dell'indice o aumentare le possibilità di blocco / dead-lock.
@JonathanFite, in un commento, ha menzionato una distinzione tra indici e statistiche:
Gli indici aiuteranno SQL a trovare i dati più velocemente creando ricerche ordinate in modo diverso rispetto alla tabella stessa. Le statistiche aiutano SQL a determinare quanta memoria / sforzo sarà necessario per soddisfare la query.
Questa è un'ottima informazione, soprattutto perché mi aiuta a chiarire la mia domanda:
Come funziona sapendo questo (o qualsiasi altra informazione tecnica sulla quale s e come s relativi ai comportamenti e la natura di STATISTICS
) aiutare a determinare se scegliere CREATE STATISTICS
sopra CREATE INDEX
, soprattutto quando si crea un indice creerà il relativo STATISTICS
oggetto? Quale scenario sarebbe meglio se si avessero solo le informazioni STATISTICHE e non si avesse l'Indice?
Sarebbe utile, se possibile, il super-duper avere un esempio funzionante di uno scenario in cui l' STATISTICS
oggetto si adatta meglio di un INDEX
.
Dato che io sono uno studente / pensatore visivo, ho pensato che potrebbe aiutare a vedere le differenze tra STATISTICS
e INDEX
ES, fianco a fianco, come un possibile mezzo per aiutare a determinare se STATISTICS
sono la scelta migliore.
Thingy PROs CONs
------- ---------- -------------------
INDEX * Can help sorts. * Takes up space.
* Contains data (can * Needs to be maintained (extra I/O).
"cover" a query). * More chances for blocking / dead-locks.
STATISTICS * Takes up very little space. * Cannot help sorts.
* Lighter maintenance / won't * Cannot "cover" queries.
slow down DML operations.
* Does not increase chances
of blocking / dead-locks.
Di seguito sono riportate alcune risorse che ho trovato durante la ricerca di questo, uno che pone anche la stessa domanda, ma non ha ricevuto risposta:
Domande sulle statistiche di SQL Server che eravamo troppo timidi da porre
Statistiche. Sono possibili istogrammi a più colonne?
** Per essere chiari, non ho una risposta per questo e in realtà sto cercando di ricevere feedback da alcune persone speriamo di fornire quelle che sembrano essere stranamente informazioni mancanti qui nell'interwebs.