我有邮政编码的表列如下:在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
)不会更快吗?查询引擎如何选择使用哪个索引?