固然现今硬件当作本已经下降,经由过程进级硬件晋升系统机能也是常用的优化体例 。 而及时性要求很高的系统,仍是要从sql方面进行优化,本文以sqlserver为例演示,此中的优化道理也合用于其他数据库
优化的一个本家儿要方面就是尽量避免全表扫描,改为索引扫描
方式/
1恰当的索引
1)索引就半斤八两于字典的目次,按照索引查找就可以直接定位具体页数,不消整本字典一页一页的查找,效率天然是不问可知 。
2)对于汗青数据不太存眷的场景,好比订单,凡是来说,3年之前的订单数据,很少会需要查询到,比来的订单才是最常用的,那么可以考虑把订单日期作为索引的一个列建立
3)经常需要where查询的字段也作为索引的一个列建立
文章插图
2尽量不要有空判定的语句,因为空判定将导致全表扫描,而不是索引扫描 。
对于空判定这种环境,可以考虑对这个列建立数据库默认值
文章插图
3尽量不要利用不等于前提,因为,这会导致全表扫描
对于不等于这种环境,考虑改为规模查询解决
文章插图
4尽量不要利用or前提,因为,这会导致全表扫描
对于or这种环境,可以改为 别离查询,然后 union all
文章插图
5尽量不要利用摆布恍惚查询,因为,这会导致全表扫描
对于摆布恍惚查询的环境,试着改为右侧恍惚查询,如许是可以索引查找的
文章插图
6尽量不要在执行算数运算后的比力,因为,函数、算术运算或其他表达式运算凡是将导致全表扫描
对于这种环境,可以考虑冗余部门数据到表中
文章插图
7尽量利用exists取代in
文章插图
8【常见的sql优化技巧】尽量避免一次性返回年夜数据量,可以考虑分页返回
文章插图
注重事项部门图片来历于收集
以上内容就是常见的sql优化技巧的内容啦,希望对你有所帮助哦!
推荐阅读
- Powershell如何计算命令的执行时间
- 园区一卡通解决方案
- 苦参花椒茶除脚气
- 菊花茶热敷可消除针眼
- 五款花草茶的饮用方式
- 如何通过优酷领取天猫双11合伙人活动的能量
- 怎样查询微店物流信息
- oracle 数据库的常用函数的使用
- 英雄杀妲己攻略
- iPhone手机微信的提示音怎么更换