zoukankan      html  css  js  c++  java
  • sql server 2005 大数据量插入性能对比

    sql server 2005大数据量的插入操作

    第一,写个存储过程,传入参数,存储过程里面是insert操作,

    第二,用System.Data.SqlClient.SqlBulkCopy实例方法,

    数据库表Passport

    CREATE TABLE [dbo].[Passport](
     [Id] [int] IDENTITY(1,1) NOT NULL,
     [PassportKey] [nchar](50) NOT NULL,
     [addtime] [datetime] NOT NULL,
     CONSTRAINT [PK_Passport] PRIMARY KEY CLUSTERED
    ( [Id] ASC)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]

    存储过程 CreatePassport

    Create proc [dbo].[CreatePassport]
    @passport varchar(50),
    @addtime datetime
    as
    insert into Passport (PassportKey,addtime) values (@passport,@addtime)

    对比测试,方法一调用存储过程,循环插入数据,方法二,构造表的对象,然后调用SqlBulkCopy

    少量数据

     

    大量数据

    代码

    DataTable dataTable = GetTableSchema();
                string passportKey;
                for (int i = 0; i < count; i++)
                {
                    passportKey = Guid.NewGuid().ToString();
                    DataRow dataRow = dataTable.NewRow();
                    dataRow[1] = passportKey;
                    dataRow[2] = DateTime.Now; 
                    dataTable.Rows.Add(dataRow);
                }
                SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(connectionString);
                sqlBulkCopy.DestinationTableName = "Passport";
                sqlBulkCopy.BatchSize = dataTable.Rows.Count;
                SqlConnection sqlConnection = new SqlConnection(connectionString);
                sqlConnection.Open();
                if (dataTable!=null && dataTable.Rows.Count!=0)
                {
                    sqlBulkCopy.WriteToServer(dataTable);
                }
                sqlBulkCopy.Close();
                sqlConnection.Close();
    
                 
  • 相关阅读:
    前端进击的巨人(一):执行上下文与执行栈,变量对象
    读书笔记(06)
    前端博客收藏
    Nodejs-Can't set headers after they are sent
    Mac OS安装包管理工具Homebrew教程
    webpack自动化构建脚本指令npm run dev/build
    使用express搭建node中间件
    【转】基于localStorage的资源离线和更新技术
    web前端性能优化
    Vue生命周期详解
  • 原文地址:https://www.cnblogs.com/MAYADIDI/p/3483611.html
Copyright © 2011-2022 走看看