应尽量避免Where子句中使用or来连接条件,否则将会导致引擎放弃索引而使用全表扫描
举个栗子:
SELECT ID FROM IFS_F_T_WMS_DispatchItem item WITH(NOLOCK)
WHERE item.DispatchItem_DemandType = 'A' OR item.DispatchItem_DemandType = 'B'
可以这样查询
SELECT ID FROM IFS_F_T_WMS_DispatchItem item WITH(NOLOCK)
WHERE item.DispatchItem_DemandType = 'A'
union all
SELECT ID FROM IFS_F_T_WMS_DispatchItem item WITH(NOLOCK)
WHERE item.DispatchItem_DemandType = 'B'