第一種方法:採用的傳統的方式插入,即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 秒。
批量插入資料的2種方法
1.批量插入資料 go if object id cs 2 is not null drop table cs 2 gocreate table cs 2 顧客編號 varchar 30 not null,顧客姓名 varchar 30 not null,varchar 30 not null,所在...
SQL Server 批量插入資料的兩種方法
在sql server 中插入一條資料使用insert語句,但是如果想要批量插入一堆資料的話,迴圈使用insert不僅效率低,而且會導致sql一系統效能問題。下面介紹sql server支援的兩種批量資料插入方法 bulk和錶值引數 table valued parameters 執行下面的指令碼,...
SQL Server 批量插入資料的兩種方法
在sql server 中插入一條資料使用insert語句,但是如果想要批量插入一堆資料的話,迴圈使用insert不僅效率低,而且會導致sql一系統效能問題。下面介紹sql server支援的兩種批量資料插入方法 bulk和錶值引數 table valued parameters 執行下面的指令碼,...