SQL语句执行效率测试

 

    我们在编写web应用程序或者winform程序的时候,很有可能遇到会大量执行数据库操作的情况,一般情况下,如果要执行的SQL语句如果数量及长度不是很可怕的时候,我的做法往往是将这些SQL语句拼组到一起,然后统一进行一次性执行操作,所要做的,或者说耗时的时间主要是拼组最终执行的最终SQL语句,但是,无论从便捷或者性能方面也不会出现啥问题,但是如果当我们要拼组的SQL语句其长度过长的时候,我简单地试了下,我一次拼组了3000条左右的SQL语句,且通过程序测试了一下它的用时,大概是10秒钟左右,而如果我逐条执行的话,耗时相差无几,但是当我执行的数据量增加30倍左右的话,也就是字符串数量达到2000W左右的话,这样庞大的一条执行语句的性能又将如何呢?结果并不是很乐观,首先,让我们排除我们在拼组字符串以后到执行SQL语句之间再对该庞大的SQL语句进行的其他操作,单单执行拼组该语句的循环语句就要消耗相当长的时间,使用应用程序执行这样的操作,耗时预估要20分钟左右,当然,还会有可能导致程序失去响应,这个时候使用逐条执行的方法的话,其耗时3分钟多一点,而且采用逐条执行这种方法的话还可以对sql语句的合法性进行一次核查,更加保证了执行的安全性,因为前者如果其中有某一条语句有语法错误,后果是所有的语句都无法执行成功!


    从这个尝试可以看出,一般情况下,使用逐条执行sql语句的方式更加“高效”一些,但是如果我们能够控制拼组的sql  语句的数量,并将其保证在一定数量的话,其效率可能会更好,但是一般情况下,如果我们不想再去做过多处理的话,逐条执行是个不错的选择!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值