近来在LABVIEW的群中,看到几回评论运用行列把收集的数据写入到数据库的问题,评论十分火热,可是他们疏忽了一个重要的问题,便是数据库的最大写入速度的问题。
一旦你每秒采样数超越必定极限时,不管你选用何种编程方法,怎么优化你的程序,在超越必定极限后,都是不可能完成的,在这种情况下,评论怎么处理就毫无意义了。
行列主要有三方面的用处,并行、免除耦合和处理忙先不均。在高速收集时,行列只是起到了并行的效果。由于收集的速度远大于数据库的写入速度,这种情况下,运用数据库自身便是一个过错的挑选,是不可能完成的。
下面我运用LABVIEW自身的数据库例程,略微改动一下,测验数据库的写入速度。LABVIEW数据工具包供给三种不同的写入数据方法。
1、主动方法。运用“刺进数据”VI。
2、运用SQL查询方法。
3、运用SQL参数化查询。
这三种方法中,SQL查询方法速度显着是最快的。SQL参数化查询和主动方法十分挨近,SQL参数化查询比主动化方法略快一些。
在我的计算机中,写入10000条记载,SQL查询方法约为20秒,其它方法约为30秒。也便是说运用MDB数据库,每秒最快写入约500条记载。
我写入的记载数据量是很小的,假如记载中存储的数据量很大,速度还要慢。所以,运用数据库只是合适与低速收集,对中高速收集是不可能完成的。
LABVIEW的DSC工具包选用了通用数据库,由于常用的扫描周期为100MS,这是没有问题的。关于中高速收集,供给了TMDS存储方法。即便选用TDMS方法,也必须在必定极限之内,究竟终究的速度仍是取决于硬件设备。