我有郵政編碼的表列如下:在select中使用了哪個索引,爲什麼?
id - PRIMARY KEY
code - NONCLUSTERED INDEX
city
當我執行查詢
SELECT TOP 10 * FROM ZIPCodes
我得到id
列排序結果。但是,當我查詢更改爲:
SELECT TOP 10 id FROM ZIPCodes
我得到code
列排序結果。同樣,當我查詢更改爲:
SELECT TOP 10 code FROM ZIPCodes
我得到的結果通過code
列排序一次。最後當我更改爲:
SELECT TOP 10 id,code FROM ZIPCodes
我得到id
列排序結果。
我的問題是在問題的標題。我知道在查詢中使用了哪些索引,但我的問題是,爲什麼這些索引被使用?如果使用clusteder索引,第二個查詢(SELECT TOP 10 id FROM ZIPCodes
)不會更快嗎?查詢引擎如何選擇使用哪個索引?