SQL的优化方法

SQL的优化方法主要包含两大类

1、表的优化,2、语句的优化

    1.1、纯数字的的字段尽量存储为整型,在排序或比较大小时,相对字符串有很大的速度优势

    1.2、在根据需求设计表的时候,可以先具体的去了解每一个功能需求。将一些后续可能要用要到统计,在插入时就实现。而不用在查询时使用函数去计算。

    1.3、在存储时间时,尽量保存为时间戳格式,另外同时存储一个对应的数值类型的字段,对后面的排序和按时间区间查询有一定的优势

    1.4、要设置主键,主键自带索引。

    1.5、尽量不要存储null,或者直接为空,可以用0,1标识等代替。

    1.6 、字段的设计长度时要考虑实际的客户需求,不能太短,也不能够太长,一般在客户需求的基础上增加至其1,5倍到2倍之间。尽量使用可变字符串varchar

   1.7、 在设计表的关联关系的时候,关联字段的类型一定要保持一致

2、SQL语句方面的优化操作

  2.1、按照客户的实际需求去字段,没有用的字段尽量一个都不要取。取得字段越多速度越慢,尤其是对于数据量庞大的表来说。

    2.2、尽量不要在where条件中使用数据库函数,函数使用的越多就越慢

    2.3 、查询时先看一下相关表是否存在重复数据,如果存在的话可以先做处理,然后在去关联,减少不必要的数据关联。

    2.4尽量用exsist,not exists去替换in和not in 函数

    2.5 尽量不要使用!=,<>等作为条件判断

     2.6 、有可能的话尽量利用 UNION All 替换UNION 函数。

     2.7在参数注入时,注入与数据库字段相同的类型,避免在sql中对字段做类型转换操作,或者对注入的参数在sql语句做类型转换。

    2.8 在写sql语句之前一定要非常清楚的理解业务逻辑,用最精简的sql语句去实现功能。没有清楚理解业务逻辑,sql语句将会看起来非常乱,且执行效率低下。

    2.9、适当的添加索引,对于在where条件后起到很大筛选作用的字段添加索引。大量索引会造成插入和修改缓慢。

    2.10 尽量减少like的使用。

    2.11 对于需要频繁使用到SQL语句部分,可以做成视图。然后用其他表关联该视图。

    2.12 UNION替换OR

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值