Ich empfehle die vorsichtige Verwendung dieser Optimierungsmethode, da fehlende Indexvorschläge in Abfrageplänen immer weniger zuverlässig sind, da Abfragen und DB-Schemata zunehmend komplexer werden. Dies hat meiner Erfahrung nach verschiedene Gründe:
1) Die "prozentuale Verbesserung" kann für alle außer für die einfachsten Abfragen / offensichtlichsten Indizes weit entfernt sein, schließlich handelt es sich nur um eine Schätzung, die sich nicht aus den tatsächlich angefallenen Kosten oder der tatsächlichen Zeilenanzahl bei der Ausführung der Abfrage ergibt. Ich habe gesehen, dass die Abfragekosten gestiegen sind, nachdem ein vorgeschlagener Index implementiert wurde, oder er wird nicht einmal verwendet und der Plan bleibt derselbe.
2) Der Abfrageplan selbst ist entweder aufgrund des Aufbaus der Abfrage (Verknüpfungen und Where-Klausel nicht optimiert usw.) nicht optimal, oder die Zeilenanzahlschätzungen sind aufgrund fehlender / veralteter Statistiken nicht korrekt. Die Indizierung auf einen brutal schlechten Abfrageplan ist häufig bestenfalls eine Band-Aid-Lösung mit nur einer schrittweisen Verbesserung der Leistung.
3) Möglicherweise sehen Sie nicht das gesamte Bild. Dies gilt insbesondere dann, wenn nur der grafische Plan verwendet wird und nicht die XML-Datei angezeigt wird, um festzustellen, ob mehr als ein fehlender Index vorgeschlagen wurde. Das im grafischen Plan zuerst angezeigte ist nicht unbedingt das, das sich am meisten auf die Abfrage auswirkt.
4) Ich habe auch viele Beispiele für neue Indizes gefunden, die vorgeschlagen werden, wenn der vorhandene Index geändert wird. Sehen Sie sich die anderen Antworten hier zu diesem Punkt an, sie sind genau richtig und ich muss nicht weiter darauf eingehen.
Ich verwende die fehlenden Indexvorschläge nur als Ausgangspunkt, wenn ich mit einer unbekannten Abfrage / Umgebung arbeite, um herauszufinden, wo ich genauer hinschauen soll. Ich habe bessere Ergebnisse erzielt, wenn ich die Operatoren im Plan (hauptsächlich die Suchvorgänge / Suchvorgänge / Verknüpfungen) und das Tooltip- oder Eigenschaftenfenster überprüft habe, um festzustellen, welche Spalten betroffen sind, und um anhand dieser Informationen die Indexkandidaten zu ermitteln, die auf Verbesserung getestet werden sollen.