我們正在設計一個數據庫(SQLServer 2005)來存儲我們儀器的測量數據。每一個儀器每秒都會返回5個不同的值(所有浮點數) - 例如max,min,avg等。在設計數據庫時,最好將所有這些值存儲在一個表中(每行包含時間戳,類型和值),還是將它們存儲在單獨的表中(即:avgtable,maxtable,mintable),每行包含一個時間戳和值?我們將存儲來自多達100個儀器的數據,並且它們將一次運行數月,所以數據將會變得相當大。所有值的單個表或每個值的單獨表?
一種設計是否比其他設計有更好的性能?
感謝
如果我將所有內容都存儲在一張表中,則每次測量需要5行,每行仍需要時間戳和類型標識符。由於收集數據的性質,並非所有儀器都會返回全部5種數據類型,因此我們不希望條目包含5個字段,而是需要一個數據點條目。將所有東西放在一起還有意義嗎? – Curtis 2011-04-21 15:12:52
取決於您如何閱讀它。如果您只是一次訪問一條信息,那麼請儘量使用每個測量類型的一個表格,然後表格名稱也會告訴您測量的類型。如果您想要一次讀取所有5個相關的測量值以進行顯示或搜索,那麼爲5種測量類型適當命名的時間戳和5列的1個表格都可以做到這一點。 – 2011-04-21 15:18:55