In welchen Szenarien (in SQL Server) ist ein vollständiger Tabellenscan besser als ein Indexscan?
sql-server
execution-plan
Nick Chammas
quelle
quelle
Antworten:
Wenn die Selektivität von Datensätzen sehr hoch ist, ist der vollständige Tabellenscan immer besser als der Indexscan.
http://www.techipost.com/single-index-versus-full-table-scan/
Bearbeiten von gbn:
Beispielsweise kann der Optimierer entscheiden, dass es einfacher ist, die Tabelle / den Clustered-Index zu scannen, wenn viele Schlüsselsuchen erforderlich wären (z. B. nicht gruppierter Index zu gruppierten Indizes für nicht wichtige Daten).
Oder Sie haben nicht viele unterschiedliche Werte in den indizierten Spalten
quelle
Wenn die
Der 2. Fall muss qualifiziert werden
Schließlich
quelle
Ist der Tisch
quelle
Besser auf welche Weise?
Das Optimierungsprogramm wählt möglicherweise einen Tabellenscan aus, wenn ein Index nicht abdeckt, da ein Indexscan noch um eine Lesezeichensuche erweitert werden müsste.
In diesen Fällen ist eine schlecht indizierte Tabelle nicht besser als eine nicht indizierte Tabelle.
http://www.sqlservercentral.com/articles/Performance+Tuning/bookmarklookups/1899/
quelle