in不會導致索引失效,但最終數據庫會將in語句解析為or語句,eg:
select * from T_MAIN_PROCESS t where t.audit_status_code in ('05','07')。 查看執行計划會被解析成:
select * from T_MAIN_PROCESS t where t.audit_status_code='05' or t.audit_status_code='07'
所以:可用or代替in,減少數據庫解析in語句時間。
not in 會導致索引失效。所以