2016-08-03 48 views
0

我正在嘗試學習如何檢測SQL Server 2014 Express(這是一個自學項目)中缺少的索引。我正在使用AdventureWorks 2012和在線教程。下面是我使用的代碼:缺失索引檢測SQL Server 2014

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

查詢返回一個空表,我好有(再次聲明,我試着學習如何使用優化器)。

本教程指出我應該右鍵單擊該操作,並且會出現一個帶有缺失索引選項的軟件。當我右鍵單擊我看到的唯一菜單是下面的一個。

Execution Plan Screenshot

+0

沒有缺失的索引,它使用已經存在的聚集索引。如果您要刪除該索引,那麼它可能會開始告訴您,創建一個索引是個好主意。 –

+0

你可以請粘貼表和索引的架構 – TheGameiswar

回答

1

的缺失索引的信息並不總是出現(這將是綠色文本)。對於您的查詢,聚集索引就好了,SQL Server認爲沒有問題。您可以嘗試另外兩件事:

  • 使您的查詢更加複雜,並在where子句中添加一些連接和過濾器。這可能會產生一個索引建議。
  • 將表中的當前索引編寫出來,保存腳本,然後刪除person.person表中的所有索引,最後重新運行查詢。有可能會產生堆的索引建議。一旦你玩完了,你可以重新運行你的索引腳本來放回索引。