Wie ich verstehe, schätzt SQL Server Kardinalität basierend auf Stichproben von Tabellendaten. Wir haben einen täglichen Zahlungsabstimmungsbericht, der zeitweise einen schlechten Ausführungsplan generiert.Gibt es eine Möglichkeit, SQL Server zu zwingen, Beispiele für aktuelle Daten in einer Abfrage zu verwenden?
Von dem, was ich sagen kann, ist dies zum Teil aufgrund der schlechten Kardinalität Schätzungen in den Plänen. Ich frage mich, ob es eine Möglichkeit gibt, eine Abfrage zu zwingen, die Beispiele zu generieren, die es verwendet, um Kardinalitätsschätzungen mit einer Neigung zu kürzlich eingefügten/aktualisierten Zeilen oder höheren numerischen Primärschlüsseln (aka jünger) zu machen.
Wenn es eine Möglichkeit gibt, dies auf Tabellenebene oder Datenbankebene zu tun, würde mich das auch interessieren.
Verwenden Sie Optionen, um SQL Server zur Erstellung des besten Plans zu führen. –
https://docs.microsoft.com/en-us/sql/t-sql/queries/option-clause-transact-sql – scsimon
Sind die Indexstatistiken veraltet? – HABO