zoukankan      html  css  js  c++  java
  • sql server循环插入跟批量插入效率比较

    循环插入

    create table #tb2
    (
     id int,
     name nvarchar(30),
     createTime datetime
    )
    declare @i int
    declare @sql varchar(1000)
    set @i=0
    while (@i<100000)  --循环插入10w条数据
    begin
      set @i=@i+1
      set @sql=' insert into #tb2 values('+convert(varchar(10),@i)+',''erzi'+convert(nvarchar(30),@i)+''','''+convert(nvarchar(30),getdate())+''')'
      exec(@sql)
    end
    --DROP TABLE #tb2
    SELECT * FROM #tb2

    执行时间

    批量插入
    create table #tb2
    (
     id int,
     name nvarchar(30),
     createTime datetime
    )

    declare @i int
    declare @sql varchar(8000)
    declare @j int
    set @i=0
    while (@i<10000)  --循环插入10w条数据
    begin
     set @j=0
     set @sql=' insert into #tb2 select '+convert(varchar(10),@i*100+@j)+',''erzi'+convert(nvarchar(30),@i*100+@j)+''','''+convert(varchar(50),getdate())+''''
     set @i=@i+1
     while(@j<10)
     begin  
       set @sql=@sql+' union all select '+convert(varchar(10),@i*100+@j)+',''erzi'+convert(nvarchar(30),@i*100+@j)+''','''+convert(varchar(50),getdate())+''''
       set @j=@j+1
     end
     exec(@sql)
    end

    --drop table #tb2
    select * FROM #tb2

    执行时间

    总结:明显批量插入效率比循环插入效率高

  • 相关阅读:
    JDK自动安装脚本
    lamp script
    spring MVC multipart处理文件上传
    在Java中定义常量
    常用服务搭建(nfs/ftp/samba)
    源码编译安装mysql5.6
    Spring MVC
    Linux crontab 命令格式与详细例子
    Linux : IPTABLES
    linux monitor and maintanence
  • 原文地址:https://www.cnblogs.com/starts/p/5201529.html
Copyright © 2011-2022 走看看