select count(*) from ait1
这个语句查询表的行数,显示580万行,我想知道为什么这个语句不扫描“唯一聚集”索引,而是扫描一般的索引。
数据结构:
ItemCode nvarchar no
PriceList smallint no
Price numeric no
Currency nvarchar no
Ovrwritten char no
Factor numeric no
LogInstanc smallint no
ObjType nvarchar no索引:
AIT1_CURRENCY nonclustered located on PRIMARY Currency
AIT1_MANUAL nonclustered located on PRIMARY Ovrwritten
AIT1_PRICE_LIST nonclustered located on PRIMARY PriceList
AIT1_PRIMARY clustered, unique, primary key located on PRIMARY ItemCode, PriceList, LogInstanc
这个语句查询表的行数,显示580万行,我想知道为什么这个语句不扫描“唯一聚集”索引,而是扫描一般的索引。
数据结构:
ItemCode nvarchar no
PriceList smallint no
Price numeric no
Currency nvarchar no
Ovrwritten char no
Factor numeric no
LogInstanc smallint no
ObjType nvarchar no索引:
AIT1_CURRENCY nonclustered located on PRIMARY Currency
AIT1_MANUAL nonclustered located on PRIMARY Ovrwritten
AIT1_PRICE_LIST nonclustered located on PRIMARY PriceList
AIT1_PRIMARY clustered, unique, primary key located on PRIMARY ItemCode, PriceList, LogInstanc
所以如果有非聚集索引,走非聚集索引可以减少io提高性能。