a.列顺序 在创建复合索引时,顺序是需要仔细斟酌的。 a.1:当创建一个客源代码--酒店编号的索引时 create index non_clu_GuestSrcAndHotelID on [order] (GuestSrcCode,HotelID) 我们查询如下sql 这里我们尽量将查询少量的数据(避免书签查找),便于看出列顺序的问题 sql1: select * from [Order] where GuestSrcCode='GS04' 执行计划如下:
sql2: select * from [Order] where HotelID='023023' 执行计划如下:
可以看到当条件只有HotelID时,没有用到上面我们建的索引。 a.1:当创建一个酒店编号--客源代码的索引时(反过来) sql1: select * from [Order] where GuestSrcCode='GS04' 执行计划如下:
sql2: select * from [Order] where HotelID='023023' 执行计划如下: