对存在性能问题的SQL,先查看其执行计划,重点查看Table Scan和Clustered Index Scan节点
1.在这些节点对应的表字段添加索引
2.exists的代替in
3.like 百分号放在后边,例如:like '%A0%' 改为like 'A0%'
4.where 语句后面避免使用or,,应该把or拆分为多个子查询,使用union合并结果,或者使用with出来再合并数据
5.对百万级的数据表,join相关查询使用with优化,只对大表查询一次
6.嵌套子查询使用top 1过滤数据,多个子查询需要拆分,使用with语法处理
7.尽量使用in 和not in
8.查询数据一定要做分页
1.在这些节点对应的表字段添加索引
2.exists的代替in
3.like 百分号放在后边,例如:like '%A0%' 改为like 'A0%'
4.where 语句后面避免使用or,,应该把or拆分为多个子查询,使用union合并结果,或者使用with出来再合并数据
5.对百万级的数据表,join相关查询使用with优化,只对大表查询一次
6.嵌套子查询使用top 1过滤数据,多个子查询需要拆分,使用with语法处理
7.尽量使用in 和not in
8.查询数据一定要做分页