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,做学问不能想当然,数据出真知。
  • 相关阅读:
    P2015 二叉苹果树(树形DP)
    Treats for the Cows (区间DP)
    You Are the One(区间DP 好题)
    Palindrome subsequence (区间DP)
    Cutting Sticks(区间DP)
    L2-013 红色警报 (dfs判断图连通性)
    L2-001 紧急救援 (dijkstra+dfs回溯路径)
    多线程 -- JMM、volatile关键字、内存屏障、happens-before原则、缓存一致性
    多线程 -- 各种锁的概念
    Spring Boot 学习笔记(十六)启动原理、运行流程、自动配置原理
  • 原文地址:https://www.cnblogs.com/malingbo/p/1567434.html
Copyright © 2011-2022 走看看