首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求mssql高效率的插入方法

2013-03-25 
求mssql高效的插入方法数据源是程序里的录入记录,现在用的保存方法是调用存储过程(存储过程的操作就是inse

求mssql高效的插入方法
数据源是程序里的录入记录,现在用的保存方法是调用存储过程(存储过程的操作就是insert into table values(***))逐条插入或者拼接语句(insert into talbe select *** union all select ...)批量插入,但是当程序里的记录比较多,感觉等待很久。数据库里有没有高效插入记录的方法?或者程序里本身有的高效方法(我用的是delphi7里的ado)?谢过。
[解决办法]

引用:
引用:一行一行插入,无论什么方式都不会高效的,你试一下能否转换成一个数据集插入
insert into table select *** union all select *** union all ...算不算,还是用数据集组件的方法adoquery.UpdateBatch?
这一步已经算没办法中的办法了。但是大数据量的导入最好使用文件形式,然后借助BCP等工具导入
[解决办法]
bulk insert比较好。可以创建一个working表,拥有相同的schema,比如xxx_working, 把一批数据bulk insert到这个working表中,然后利用SP从working表copy到生产表
[解决办法]
没有特别的好的办法
因为你得需求就是定时,用程序一条一条插入
唯一可能的优化是
你可以考虑写一个显示事务,一次批次插入100-500(具体你自己测试下,这个与硬件性能有关)条。这样可能会优化一下IO。

[解决办法]
先写到文件 然后bcp到临时表。数据验证后写入正式表。

热点排行