【日记】利用VB.NET实现MYSQL和MSSQL进行批量插入记录的方法及比较
2012-12-15 15:04
761 查看
最近为了完成将股票交易数据从二进制文件读取添加到数据库中,可谓千辛万苦(以前数据量小,不需要考虑太多嘛
)
言归正传:股票交易数据格式为,股票代码,时间,交易数据,时间,交易数据.....开始另一只股票的交易代码和数据。
如果是用一条记录insert一次,要花费大量的时间。故而考虑用批量插入的方式。
【使用MYSQL数据库】
用MYSQL的REPLACE函数可以实现对数据的批量更新。
【使用MSSQL】
可以考虑用dataadpter的update功能(百度去查吧)或者是用下面的方法:
但是。。。。
【比较】
二者的比较不在于数据处理效率方面(因为我是菜鸟,无法比较数据处理效率),而在于如果插入到数据库中的数据如果使得主键重复了怎么办?如果使用MSSQL的方法,一旦出现重复,可能会提示错误,并且使得msDT表中的后续的数据无法更新到数据库中。(网上有人说可以在New
SqlBulkCopy(MSconn)后面多加一个参数,但是我好像行不通)
幸好MSSQL的replace在遇到重复记录的时候会使用更新的方法。(也就是不会报错而能把最新数据更新进去
)
)
言归正传:股票交易数据格式为,股票代码,时间,交易数据,时间,交易数据.....开始另一只股票的交易代码和数据。
如果是用一条记录insert一次,要花费大量的时间。故而考虑用批量插入的方式。
【使用MYSQL数据库】
用MYSQL的REPLACE函数可以实现对数据的批量更新。
replace INTO `数据库名`.`表明` (`列名1`, `列名2`) VALUES (第1行值1,第1行值2),(第二行值1,第二行值2),,,();测试过使用10000条记录插入一次,嘿嘿,速度还是很快的。
【使用MSSQL】
可以考虑用dataadpter的update功能(百度去查吧)或者是用下面的方法:
Dim bcp As System.Data.SqlClient.SqlBulkCopy = New SqlBulkCopy(MSconn) bcp.DestinationTableName = "数据库名.表明" If MSconn.State <> ConnectionState.Open Then MSconn.Open() bcp.WriteToServer(msDT) ‘vb中的变量msDT(table类型) If MSconn.State <> ConnectionState.Closed Then MSconn.Close()但是。。。。
但是。。。。
【比较】
二者的比较不在于数据处理效率方面(因为我是菜鸟,无法比较数据处理效率),而在于如果插入到数据库中的数据如果使得主键重复了怎么办?如果使用MSSQL的方法,一旦出现重复,可能会提示错误,并且使得msDT表中的后续的数据无法更新到数据库中。(网上有人说可以在New
SqlBulkCopy(MSconn)后面多加一个参数,但是我好像行不通)
幸好MSSQL的replace在遇到重复记录的时候会使用更新的方法。(也就是不会报错而能把最新数据更新进去
)
相关文章推荐
- asp中利用数组实现数据库记录的批量录入方法
- mysql 批量更新多条记录(且不同值)的实现方法
- mysql 批量更新多条记录(且不同值)的实现方法
- [VB.NET]利用vb.net创建一个完全可编辑的DataGrid,从而实现操作Access数据库进行增,删,改的功能,前提是不用任何其他的Button
- mysql 批量更新与批量更新多条记录的不同值实现方法
- MySQL 记录不存在时插入 记录存在则更新的实现方法
- vb.net 利用ADO实现数据库的删除、插入、修改操作(adodb)
- mysql 批量更新与批量更新多条记录的不同值实现方法
- mysql 批量更新与批量更新多条记录的不同值实现方法
- MySQL 记录不存在时插入 记录存在则更新的实现方法
- mysql 批量更新与批量更新多条记录的不同值实现方法
- mysql 记录不存在时插入 记录存在则更新的实现方法
- 【转】【MySql】Update批量更新与批量更新多条记录的不同值实现方法
- mysql 批量更新与批量更新多条记录的不同值实现方法
- MySQL 记录不存在时插入 记录存在则更新的实现方法
- php+mysqli实现批量执行插入、更新及删除数据的方法
- VB.NET,C#.NET调用Web Service,利用visual studio 的实现方法
- mysql 批量更新与批量更新多条记录的不同值实现方法
- 批量删除记录时如何实现全选方法总结 (转)http://www.cnblogs.com/chenou/articles/1349646.html[Asp.net Ajax 控件]
- MySQL 记录不存在时插入 记录存在则更新的实现方法