2016-08-03 14 views
0

Ich versuche zu lernen, wie man fehlende Indizes in SQL Server 2014 Express erkennt (dies ist ein Selbststudienprojekt). Ich benutze AdventureWorks 2012 und ein Online-Tutorial. Hier ist der Code Ich verwende:Fehlende Indexerkennung SQL Server 2014

SELECT 
    FirstName, 
    MiddleName, 
    LastName 
FROM Person.Person 
WHERE LastName = 'Harrson' 
AND FirstName = 'Jesse'; 

Die Abfrage gibt eine leere Tabelle, die ich bin in Ordnung mit (wieder ich versuche zu lernen, wie das Optimierungsprogramm verwenden).

Das Tutorial zeigt an, dass ich mit der rechten Maustaste auf den Vorgang klicken sollte und ein Fly mit der fehlenden Indexoption angezeigt wird. Wenn ich mit der rechten Maustaste klicke, ist das einzige Menü, das ich sehe, das folgende.

Execution Plan Screenshot

+0

Es gibt keinen fehlenden Index, es verwendet bereits einen gruppierten Index. Wenn Sie diesen Index löschen würden, könnte er Ihnen sagen, dass es eine gute Idee wäre, einen zu erstellen. –

+0

können Sie bitte das Schema von Tabelle und Indizes einfügen – TheGameiswar

Antwort

1

Die fehlenden Index Details erscheinen nicht immer (es grüner Text sein wird). Für Ihre Abfrage ist der Clustered-Index in Ordnung und SQL Server sieht kein Problem damit. Sie können zwei andere Dinge versuchen:

  • machen Sie Ihre Abfrage komplexer und fügen Sie einige Joins und Filter in der Where-Klausel. Dies kann zu einer Indexempfehlung führen.
  • Schreiben Sie die aktuellen Indizes für die Tabelle aus, speichern Sie die Skripts, löschen Sie dann alle Indizes in der Tabelle person.person, und führen Sie schließlich die Abfrage erneut aus. Wahrscheinlich wird dies eine Indexempfehlung für den Heap generieren. Sobald Sie mit dem Spielen fertig sind, können Sie Ihre Indexskripte erneut ausführen, um die Indizes zurückzusetzen.
Verwandte Themen