zoukankan      html  css  js  c++  java
  • 好的Sql语句也能提高效率(二)

    今天发现了一种可能比好的Sql语句也能提高效率中的Sql语句的格式好构建一点,就是多个Insert语句,以‘;’连接起来成一个sql语句去执行,和之前的那种办法应该是一个类型的,就是这种方式在构造上面多了比较多重复的东西,就是Insert前面的包括表结构的那些语句。不过相对来说这个格式更加好构建一些。

    格式例子如下:

    INSERT INTO TESTTABLE ( [column0],  [column1],  [column2],  [column3],  [column4] ) values ('3195', '4461', '8788', '4858', '1855')
    INSERT INTO TESTTABLE ( [column0],  [column1],  [column2],  [column3],  [column4] ) values ('2850', '1674', '8560', '3476', '9881') ;
    INSERT INTO TESTTABLE ( [column0],  [column1],  [column2],  [column3],  [column4] ) values ('7006', '2068', '8048', '2238', '8549') ;
    INSERT INTO TESTTABLE ( [column0],  [column1],  [column2],  [column3],  [column4] ) values ('8719', '6579', '1240', '4777', '6843') ;
    INSERT INTO TESTTABLE ( [column0],  [column1],  [column2],  [column3],  [column4] ) values ('4105', '9805', '6685', '1637', '1899') ;
    INSERT INTO TESTTABLE ( [column0],  [column1],  [column2],  [column3],  [column4] ) values ('5869', '4243', '2965', '6978', '3251') ;
    INSERT INTO TESTTABLE ( [column0],  [column1],  [column2],  [column3],  [column4] ) values ('9550', '7475', '9988', '7661', '2077') 

    最后一个Insert不能要’;’,用这种格式,像上一篇中介绍的每100个Insert组合成1个Sql去执行,插入1W条记录的时间大概就2-3秒钟。速度上还是比较令人满意的了。
    现在的问题还是回到了构造Sql语句上面了。通过取出来的源数据DataTable和目标数据库的表结构去构建Insert语句。

    发现这种情况只能适用于那种没有二进制字段的表,要是涉及到二进制字段的话这种拼接组合Sql的方式就应该不适用了。有二进制字段的话还是得一条记录一条记录的执行插入。

    唉,看样子这条路走不通啊。再想别的办法。

    作者:bluesky4485
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    模态框 显示出模态框后在加载(可用模块框中加入editormd编辑器)
    python实现 列表内元素按照出现次数排序
    Selenium
    Python的Tqdm模块——进度条配置
    [Python3]selenium爬取淘宝商品信息
    如何用Matplotlib画一张好看的图
    maven如何引入本地jar
    tensorflow和bazel版本对应问题及对应的bazel安装
    tensorflow保存模型的3种方式的资源汇总
    利用率统计脚本
  • 原文地址:https://www.cnblogs.com/bluesky4485/p/1538854.html
Copyright © 2011-2022 走看看