Ich habe viel Informationen zu finden auf was STATISTICS
sind: wie sie erhalten bleiben, wie sie manuell erstellt werden oder automatisch aus Abfragen oder Indizes, und so weiter. Ich konnte jedoch keine Anleitung oder Informationen zu "Best Practices" bezüglich des Zeitpunkts findenum sie zu erstellen: Welche Situationen profitieren mehr von einem manuell erstellten STATISTICS-Objekt als von einem Index? Ich habe manuell erstellte gefilterte Statistiken gesehen, die bei Abfragen von partitionierten Tabellen helfen (weil die für die Indizes erstellten Statistiken die gesamte Tabelle abdecken und nicht pro Partition sind - Brillaint!), Aber es muss sicherlich andere Szenarien geben, die von einem Statistikobjekt währenddessen profitieren würden Sie benötigen weder die Details eines Index noch die Kosten für die Aufrechterhaltung des Index oder die Erhöhung der Wahrscheinlichkeit von Blockierungen / Dead-Locks.
@ JonathanFite erwähnte in einem Kommentar eine Unterscheidung zwischen Indizes und Statistiken:
Indizes helfen SQL dabei, die Daten schneller zu finden, indem sie Lookups erstellen, die anders sortiert sind als die Tabelle selbst. Mithilfe von Statistiken kann SQL ermitteln, wie viel Arbeitsspeicher / Aufwand erforderlich ist, um die Abfrage zu erfüllen.
Das sind großartige Informationen, vor allem, weil es mir hilft, meine Frage zu klären:
Inwieweit hilft die Kenntnis dieser (oder anderer technischer Informationen darüber, was und wie sie mit dem Verhalten und der Art von zusammenhängen STATISTICS
) zu bestimmen, wann eine Auswahl getroffen CREATE STATISTICS
werden muss CREATE INDEX
, insbesondere wenn ein Index erstellt wird, um das zugehörige STATISTICS
Objekt zu erstellen ? Für welches Szenario ist es besser, nur die STATISTICS-Informationen und nicht den Index zu haben?
Es wäre sehr hilfreich, wenn Sie ein funktionierendes Beispiel für ein Szenario hätten, in dem das STATISTICS
Objekt besser passt als ein INDEX
.
Da ich ein visueller Lernender / Denker bin, dachte ich, es könnte hilfreich sein, die Unterschiede zwischen STATISTICS
und INDEX
nebeneinander zu sehen, um herauszufinden, wann STATISTICS
die bessere Wahl ist.
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.
Das Folgende sind einige Ressourcen, die ich gefunden habe, als ich danach gesucht habe, eine, die sogar dieselbe Frage stellt, aber nicht beantwortet wurde:
Fragen zu SQL Server-Statistiken, die wir nicht beantworten konnten
Statistiken. Sind mehrspaltige Histogramme möglich?
** Um es klar auszudrücken, ich habe keine Antwort darauf und freue mich darauf, von hoffentlich ein paar Leuten Feedback zu bekommen, um etwas zu liefern, das hier in den Interwebs seltsamerweise zu fehlen scheint.