常见的sql优化技巧

作者:wendy | 创建时间: 2023-07-13
虽然现今硬件成本已经下降,通过升级硬件提升系统性能也是常用的优化方式。而实时性要求很高的系统,还是要从sql方面进行优化,本文以sqlserver为例演示,其中的优化原理也适用于其他数据库 优化的一个主要方面就是尽量避免全表扫描,改为索引扫...
常见的sql优化技巧

操作方法

适当的索引 1)索引就相当于字典的目录,按照索引查找就可以直接定位具体页数,不用整本字典一页一页的查找,效率自然是不言而喻。 2)对于历史数据不太关注的场景,比如订单,通常来说,3年之前的订单数据,很少会需要查询到,最近的订单才是最常用的,那么可以考虑把订单日期作为索引的一个列创建 3)经常需要where查询的字段也作为索引的一个列创建

尽量不要有空判断的语句,因为空判断将导致全表扫描,而不是索引扫描。 对于空判断这种情况,可以考虑对这个列创建数据库默认值

尽量不要使用不等于条件,因为,这会导致全表扫描 对于不等于这种情况,考虑改为范围查询解决

尽量不要使用or条件,因为,这会导致全表扫描 对于or这种情况,可以改为 分别查询,然后 union all

尽量不要使用左右模糊查询,因为,这会导致全表扫描 对于左右模糊查询的情况,试着改为右侧模糊查询,这样是可以索引查找的

尽量不要在执行算数运算后的比较,因为,函数、算术运算或其他表达式运算通常将导致全表扫描 对于这种情况,可以考虑冗余部分数据到表中

尽量使用exists代替in

尽量避免一次性返回大数据量,可以考虑分页返回

温馨提示

部分图片来源于网络
点击展开全文

更多推荐