Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Bitte helfen Sie mit, die SQL Server-Statistiken zu verbessern!

Vor langer Zeit habe ich Connect Digests veröffentlicht – kleine Posts, die einige Fehlerberichte oder Vorschläge zu Connect hervorhoben, von denen ich dachte, dass sie mehr Aufmerksamkeit verdienen. Nun, ich werde Folgendes sagen:Ich bin nicht wirklich ein großer Fan eines Systems, bei dem die Person mit den meisten abstimmungswilligen Freunden ihren Willen durchsetzt, weil das SQL Server-Team in der Lage sein sollte, Lärm zu ignorieren oder aufzuschieben und sich darauf zu konzentrieren die wichtigsten und wirkungsvollsten Fehler oder Vorschläge. Aber so machen sie es in Redmond nicht . Deshalb habe ich heute eine Bitte:Helfen Sie mir, indem Sie über diese drei Connect-Elemente abstimmen und sie kommentieren, die alle darauf abzielen, die Funktionsweise von SQL Server-Statistiken zu verbessern.

(Beachten Sie, dass Kommentare viel mehr Gewicht haben als bloße Stimmenzählungen, also geben Sie bitte Ihren Business Case an, wenn Sie einen teilen können.)

MAXDOP-Hinweis für UPDATE STATISTICS

SQL Server 2016 hat einen MAXDOP-Hinweis für DBCC CHECK-Befehle hinzugefügt, warum also nicht für Statistikaktualisierungen? Bei partitionierten Tabellen kann dies große Auswirkungen auf den Rest der Arbeitslast haben. Wir sollten auch in der Lage sein, das systemdefinierte MAXDOP für automatische Statistikaktualisierungen zu überschreiben, aber im Moment wäre ich mit mehr Kontrolle über die manuelle Statistikverwaltung zufrieden. Die Anfrage wird im folgenden Connect-Element erfasst:

  • Connect #628971 :MAXDOP-Parameter zu Statistik aktualisieren hinzugefügt

Lassen Sie den Abfrageoptimierer Statistiken auf Partitionsebene anzeigen

Erin Stellato hat hier über die Vorteile von inkrementellen Statistiken gebloggt, aber in diesem Post wirklich den Nagel auf den Kopf getroffen, was die Probleme betrifft:Incremental Statistics are NOT used by the Query Optimizer. Bitte lesen Sie das durch und stimmen Sie dann ab und kommentieren Sie den Artikel, den ich gerade erstellt habe (ich kann nicht glauben, dass ich nie bemerkt habe, dass es dafür noch keinen DCR gibt):

  • Verbinden #2010834 :Der Optimierer sollte tatsächlich pro-Partition-Statistiken *verwenden*

Automatische Statistiken sollten die Anzahl der Zeilen in einem gefilterten Index/einer gefilterten Statistik berücksichtigen

Derzeit ist das Verlassen auf automatische Aktualisierungen gefilterter Indizes und Statistiken wie das Warten auf Godot – der Algorithmus verwendet die Anzahl der Zeilen in der Tabelle, wenn er die Abwanderungsschwelle bestimmt, nicht die Anzahl der Zeilen im Index. Das bedeutet, dass die meisten gefilterten Indizes – und tatsächlich die nützlichsten gefilterte Indizes – werden nie automatisch aktualisiert. (Ich spreche hier darüber, und Kimberly Tripp spricht hier und hier darüber. Ich bin sicher, dass andere auch darüber gebloggt haben.) Ich denke, es ist an der Zeit, dass sich das ändert – wenn Sie damit einverstanden sind, stimmen Sie bitte ab und kommentieren Sie Joe Sacks Artikel (Der Titel weist auf gefilterte Statistiken hin, bezieht sich aber wirklich auf beides):

  • Connect #509638 :Änderungsvorschlag für gefilterte Statistikaktualisierungen