zoukankan      html  css  js  c++  java
  • Command对象传参效率测试

    在。net平台,普通的insert语句有两种写法,不带参数insert into test(c1,c2) values(var1,var2)和带参数insert into test(c1,c2) values(:c1,:c2),它们的执行效率如何呢?
    我一直以为两者类似,带参数只是类似占位符的功能,但今天同事提到传递参数类似java中的预编译功能,可以有效提高运行效率。
    做了个试验,代码如下:
    Code
    执行结果:
    10000记录:
    不传参数?5:46:19 15:46:34 15秒
    传参数:?5:50:51 15:51:01 10秒

    50000记录:
    不传参数  16:09:03 16:10:24 81秒
    传参数::16:15:43 16:16:36 53秒
    这只是2个参数的情况,如果参数很多会不会影响更大呢?

    10000记录,7个参数:
    不传参数:17:11:01 17:11:18 17秒
    传参数:17:13:46 17:13:59 13秒
    50000记录:7个参数:
    不传参数:17:19:02 17:20:25 1分23秒
    传参数:17:15:09 17:16:10 1分1秒

    居然差距不大。
    总结:1,向command对象传递参数既可以避免sql注入问题,也可以提高性能;
                2,做学问不能想当然,数据出真知。
  • 相关阅读:
    监听Windows消息
    把遇到过的对.Net线程的一些问题和误解集中起来和大家分享,也希望大家能一起补充,热烈欢迎讨论(转)
    推荐一个好工具:P/Invoke Interop Assistant (转)
    其它操作EDM的方式 (转载)
    DotNet(C#)自定义运行时窗体设计器 一
    通过监听Windows消息对复合控件进行整体控制(C#)一
    DotNet(C#)自定义运行时窗体设计器Runtime FormDesigner(转载)
    C# 枚举中的位运算
    Linux下cat 命令
    小端字节序与大端字节序
  • 原文地址:https://www.cnblogs.com/malingbo/p/1567434.html
Copyright © 2011-2022 走看看