SQLServer索引優化(3):對於建組合索引的要求

ywxj_001發表於2022-01-05

SQL語句:

select count(1) as rec_count from [Delivery_Item] where ( (((DeliverySysNo <> 6564924) AND (WaybillID in ('55707745521') )) AND (IsDelete = 0)) )


組合索引(1): WaybillID、 IsDelete、 DeliverySysNo


組合索引(2): DeliverySysNo、 WaybillID、 IsDelete


組合索引(1)因為 WaybillID為不唯一值,所以資料沒有重複率,可以大量篩選資料,所以要放在組合索引的第一個。

如果用了組合索引(2),因為 DeliverySysNo是個範圍值,資料篩選率低,索引會進行大量的IO掃描,執行效率低。


所以建議使用組合索引(1)。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22996654/viewspace-2850721/,如需轉載,請註明出處,否則將追究法律責任。

相關文章