我對錶格設計和性能有疑問。我有許多分析機器產生不同數量的數據(這些數據已經通過運行機器的dos程序存儲在文本文件中)。我決定更新並創建一個新的數據庫來存儲所有機器的結果。我已經創建了單獨的表來存儲結果的類型,例如,從平衡機的所有查詢結果存儲在天平結果表等附加列與其他行的性能
我對每個機器是一個共同的結果表的格式如下:
ClientRequestID PK
SampleNumber PK
MeasureDtTm
Operator
AnalyteName
UnitOfMeasure
Value
一個典型的ClientRequest可能有50個樣本這就需要由各種機器進行測試。每臺機器每個樣品只記錄1行,因此每個表的apprx 50行與任何給定的ClientRequest相關聯。
這適用於除一個機器外的所有機器!它可以測量每個樣品20-30個分析物(並將它們排出一個長排),而所有其他機器,我只需要爲每個RequestID/SampleNumber測量1個分析物。 如果我堅持這種格式,這臺機器每年將產生超過百萬行,因爲每個樣本可以有多達30個測量值。 我的其他表格每年只能以3000-5000行的速度增長。
所以在這一切之後,我的問題是這樣的:
我是更好地堅持該表的通用格式,並有排鬥載荷,或者是它更好地只是添加額外的列來表示每個分析物,這樣每個樣品只會產生一行(與其他表格一樣)。該機器最多隻能測量30個分析物(每臺機器25萬美元,我贏了;在我的生命中獲得另一臺機器)。
我很擔心的是報告性能和在線編輯。在這兩種情況下,PK:RequestID
和SampleNumber
保持不變,所以我想這只是一個加載更快的問題。我知道從設計的角度來看,多列方法被認爲是可悲的,但是在這種情況下它會產生更好的性能嗎?
BTW數據庫是MS的Jet/Access 2010中
任何幫助將不勝感激!
「BTW數據庫是MS的Jet/Access 2010中的」 這是你的問題的80%。使用幾乎任何ODBC數據庫,您就可以與性能和空間利用率更快樂。 – 2010-07-29 23:41:31