新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > LABVIEW深入探索之MDB數(shù)據(jù)庫寫入速度問題。

LABVIEW深入探索之MDB數(shù)據(jù)庫寫入速度問題。

作者: 時間:2017-01-09 來源:網(wǎng)絡(luò) 收藏
近日在LABVIEW的群中,看到幾次討論利用隊列把采集的數(shù)據(jù)寫入到數(shù)據(jù)庫的問題,討論非常熱烈,但是他們忽略了一個重要的問題,就是數(shù)據(jù)庫的最大寫入速度的問題。

一旦你每秒采樣數(shù)超過一定限度時,無論你采用何種編程方式,如何優(yōu)化你的程序,在超過一定限度后,都是不可能實現(xiàn)的,在這種情況下,討論如何解決就毫無意義了。

本文引用地址:http://butianyuan.cn/article/201701/337248.htm

隊列主要有三方面的用途,并行、解除耦合和解決忙先不均。在高速采集時,隊列只是起到了并行的作用。由于采集的速度遠大于數(shù)據(jù)庫的寫入速度,這種情況下,使用數(shù)據(jù)庫本身就是一個錯誤的選擇,是不可能實現(xiàn)的。

下面我利用LABVIEW本身的數(shù)據(jù)庫例程,稍微改動一下,測試數(shù)據(jù)庫的寫入速度。LABVIEW數(shù)據(jù)工具包提供三種不同的寫入數(shù)據(jù)方式。

1、自動方式。利用“插入數(shù)據(jù)”VI。

2、利用SQL查詢方式。

3、利用SQL參數(shù)化查詢。

這三種方式中,SQL查詢方式速度明顯是最快的。SQL參數(shù)化查詢和自動方式非常接近,SQL參數(shù)化查詢比自動化方式略快一些。

在我的計算機中,寫入10000條記錄,SQL查詢方式約為20秒,其它方式約為30秒。也就是說使用MDB數(shù)據(jù)庫,每秒最快寫入約500條記錄。

我寫入的記錄數(shù)據(jù)量是很小的,如果記錄中存儲的數(shù)據(jù)量很大,速度還要慢。所以,使用數(shù)據(jù)庫僅僅適合與低速采集,對中高速采集是不可能實現(xiàn)的。

LABVIEW的DSC工具包采用了通用數(shù)據(jù)庫,因為常用的掃描周期為100MS,這是沒有問題的。對于中高速采集,提供了TMDS存儲方式。即使采用TDMS方式,也必須在一定限度之內(nèi),畢竟最終的速度還是取決于硬件設(shè)備。



評論


技術(shù)專區(qū)

關(guān)閉