在數據庫中存儲大量數據的最佳方式是什麼? 我需要存儲具有時間戳的各種環境傳感器的值。 我已經用SQLCE做了一些基準測試,它可以很好地處理幾十萬行,但是如果它達到數百萬,這些選擇會變得非常慢。 我的實際表:如何在數據庫中有效存儲大量的行
Datapoint:[DatastreamID:int, Timestamp:datetime, Value:float]
Datastream: [ID:int{unique index}, Uint:nvarchar, Tag:nvarchar]
如果我查詢特定Datastream的和日期範圍的數據點,它需要年齡。特別是如果我在嵌入式WindowsCE設備上運行它。這是主要問題。在我的機器查詢了的〜1sek,但CE設備上花費的〜5分鐘
每隔5min我登錄20個傳感器,12每小時* 24小時*365天= 105120個*每年20個
傳感器= 2102400(行)但它可能是更多的傳感器!
我想過某種web服務後端,但設備可能並不總是連接到互聯網/服務器。
數據必須能夠顯示在設備本身上。
我該如何加快速度?選擇其他表格佈局,使用其他數據庫(sqlite)?目前我使用.netcf20和SQLCE3.5
一些建議?
你有你使用作爲查詢鍵字段建立索引?如果不是,那將是第一步。 – 2011-03-03 18:05:56