zoukankan      html  css  js  c++  java
  • 批量插入数据那种方法最快

    第一种方法:采用的传统的方式插入,即insert into 表名VALUES(值) 打开数据库,插入数据库,关闭数据,一共插入5000条数据,分别用时41526、39266、39585 (这个方法最主要是耗时用在打开数据库连接上和关闭数据库连接上)

    第二种方法:采用的先把sql语句用分号拼接起来,最后再一次性插入到数据库中,即insert into 表名VALUES(值); insert into 表名VALUES(值),分别用时12718,13268,11834

    第三种方法:采用的是union all 关键字把值拼接起来,然后再一次性插入到数据库中,即insert into 表名select 值1 union all 值2 union all ……  分别用时22985,23734,24639

    由此看出:方法二速度 > 方法三 > 方法一   值得注意的地方是当数据量大多时,就要修改SqlCommand.CommandTimeout属性, 不然会报 “Timeout 时间已到。在操作完成之前超时时间已过或服务器未响应。”

    补充一下:SqlCommand.CommandTimeout 和 SqlConnection.ConnectionTimeout 这两个的区别

    SqlCommand.CommandTimeout:获取或设置在终止执行命令的尝试并生成错误之前的等待时间。等待命令执行的时间(以秒为单位)。默认为 30 秒。
    SqlConnection.ConnectionTimeout:获取在尝试建立连接时终止尝试并生成错误之前所等待的时间。等待连接打开的时间(以秒为单位)。默认值为 15 秒。

  • 相关阅读:
    MySql控制台命令
    MySql笔记
    Unity打包android时会出的一些问题
    Unity3D2017.3.0基于Vuforia 开发AR流程(1)
    基于Unity开发广州幻境的Handy结合HTC Tracker的开发坑
    基于Unity 关于SteamVR中 手柄/Tracker不显示的问题
    使用Socket对序列化数据进行传输(基于C#)
    7. 整数反转
    6. Z 字形变换
    53. 最大子序和
  • 原文地址:https://www.cnblogs.com/zhangwang/p/11186692.html
Copyright © 2011-2022 走看看