1、查询条件减少使用函数,避免全表扫描
2、减少不必要的表连接
3、有些数据操作的业务逻辑可以放到应用层进行实现
4、可以使用with as
5、使用“临时表”暂存中间结果
6、不要把SQL语句写得太复杂
7、不能循环执行查询
8、用 exists 代替 in
9、表关联关系不要太纠结
10、查询多用索引列取查,用charindex或者like[0-9]来代替%%
11、inner关联的表可以先查出来,再去关联leftjoin的表
12、可以进行表关联数据拆分,即先查出核心数据,再通过核心数据查其他数据,这样会快得多
13、参考SQL执行顺序进行优化
14、表关联时取别名,也能提高效率
15、使用视图,给视图建立索引进行优化
16、使用数据仓库的形式,建立单独的表存储数据,根据时间戳定期更新数据。将多表关联的数据集中抽取存入一张表中,查询时单表查询,提高了查询效率。