SQL语句的细微调整对性能的巨大影响

        以前不知道写SQL语句还要注意那么多东西,SQL语句的调整还会对性能产生那么大的影响.事情是这样的,昨天我和同事在处理数据库的时候,发现一个问题,就是由于数据量很大,所以处理的时间很长.但是经过对代码的调整事,处理时间大为缩短.

        这个表的记录,有一百多个字段,很多字段的值要利用SQL语句从其它表中进行计算得到,这样一来,插入一条记录的运算时间都不少,而总的记录量的数量级在10万以上,而涉及的字段有ID字段和时间Date字段以所我们如下处理:

       进行插入操作,因为是按时间的先后顺序进行操作,所以在物理存储上也是时间在前的记录就在前,每个同ID号的每个时间段都会有不同记录.而同一个时间段的会涉及N多的不同ID号记录.

        因为表中的记录原来是按ID号存储的,在其它的操作中也是按ID号处理,这样也只是在记录表后面增加记录而已,不会产生记录后移的动作.但是有一种操作要按时间Date来处理,这种操作若按时间插入的话,会有很多原来的记录要往下移动,这样的话就增加了数据处理量.若先找数据表的索引由ID号改为Date字段后,整个表就是按Date来排序了,以前的记录就不会再产生往后移的动作了.因为现在插入的记录的操作时间字段Date值肯定比以前的要迟,所以每插入一条记录只需在表的后面增加就可以了,而不是在表中间插入,从而导致记录后移动作.耗费系统资源.

       这样一搞,速度果然快了非常多.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值