将最常判断或不耗时的where 条件子句写在众多where 子句条件中的最后一位,由于SQL Server 是从后往前执行where条件的,故将耗时或筛选条件多的条件放在接近where 语句旁,以提高性能:
select * from articles
where title like '%默认名称%'
and author like '%Kanda%'
and is_deleted = 0;
如果需要使用时间日期字符串进行时间范围筛选,尽量使用'<>' 号进行比对:
select * from user
where register_time_updated => '2024-01-01 00:00:00' and register_time_updated <= '2024-04-18 23:59:59';
而不要使用'between and'关键字,前者可以使用索引,而'between and' 如果不使用索引则筛选性能及时间有一定影响:
select * from user
where register_time_updated between '2024-01-01 00:00:00' and '2024-04-18 23:59:59';