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