大量流水数据写入sql2000数据库的效率问题
采集信息如下:
ID CARID X Y V T ............
1 1000 31 101 4 2010-12-3 17:31:45 .......
2 1000 34 105 12 2010-12-3 13:31:45
3 1001 32 104 0 2010-12-3 17:32:20
4 1001 36 102 21 2010-12-3 19:11:12
5 1000 37 104 78 2010-12-3 23:31:05
6 1002 38 107 90 2010-12-3 11:19:25
7 1002 35 104 43 2010-12-3 18:21:55
8 1002 32 106 2 2010-12-3 12:41:25
... .. ... .. .......
上面的记录每秒钟要产生几十条,现在要把这些采集的信息保存到sql2000 数据库中
我的问题 1) 是把这些记录按字段方式逐条添加到数据库中,还是把这些信息按 CARID 追加到 一个 Text 类型的文本字段中 ,哪种方式效率更高?
CARID CARINO
1000 //31 101 4 2010-12-3 17:31:45 //34 105 12 2010-12-3 13:31:45//......
1001 //..........//.........
1002 //..........//.........
2) 往数据库写内容时,用具体哪种方式(ADOTable 、 ADOQuery、存储过程 ,或是其他什么方式 )效率更高。
[解决办法]
用存储过程去批量的插入 会好些
[解决办法]
大容量的数据插入,当然是用BULK INSERT了。
google "BULK INSERT"
或者直接参考MSDN:
http://msdn.microsoft.com/en-us/library/ms188365.aspx
[解决办法]
ADO可以批量提交Sql语句的,效率很高
[解决办法]
ADOQuery->UpdateBatch();批量处理数据!
[解决办法]
直接写入数据库是不行的,应该写一个服务程序,24小时写入一次,另外应该考虑每月一个表比较好,carddata201101,carddata201102...