首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

怎样提高向SQLServer中插入数据时的速度,该怎么处理

2013-01-26 
怎样提高向SQLServer中插入数据时的速度通过SqlCommand向数据SQLServer2005里插入数据。怎么提高数据的写入

怎样提高向SQLServer中插入数据时的速度
通过SqlCommand向数据SQLServer2005里插入数据。怎么提高数据的写入速度?现在一张表一次插入5000行左右的数据。100多列。需要10多秒。还有每次建立与SQLServer的连接,头一次都对相比较慢,有什么解决的办法?
[解决办法]
试在建立存储过程,在存储过程中写插入语句,写的值以参数形式传值过去。
[解决办法]
在进行插入之前打开连接,之后批量操作,将所有数据插入完成之后在关闭连接
[解决办法]
像两百个字段的表,插入速度,无论再优化,也会有限制的,如果这些字段还有索引还会更慢,因此在不改变设计的情况下要提高速度:
1、减少索引(不过会影响查询速度)
2、带事务批量更新(批量插入后,统一提交事务)
3、若能实现,尽可能采用以下这种方法,能成倍提高效率
   INNER INTO A(a,b,c)
   SELECT a,b,c from B

4、最根本的解决之道合理设计
[解决办法]
插入的效率是放在次要地位的。查询效率是放在第一位的。
100多行的表,插5000条数据,用10秒,也能接受。在界面UI上优化一下就行了,比如设置一个进度条什么的。

如果求快,可以使用各数据库系统的批量插入方法,比如sqlserver的BulkCopy,oracle的数组方法等。
但那没有通用性,除非是非常讲究效率的场合。

热点排行