我有一個數據庫表,大約有700萬行加上(按指數規律增長)基於時間的數據。在SQL中存儲/更新基於時間間隔的數據的最有效方法是什麼?
字段:
PK.ID,
PK.TimeStamp,
Value
我也有其他的3個表分組該數據到天,月,年,其包含用於在該時間段的每個ID的值的總和。這些表每晚由一個SQL作業更新,出現這種情況的原因是,當基表中的數據更新時,這些表需要隨時進行更新,然而,一次最多可以有250萬行(不是很通常情況下,通常在200-500k之間,最多每5分鐘一次),這是可能的,而不會導致大規模的性能命中,或者實現這一目標的最佳方法是什麼?
NB
每日,每月,每年的表是可以改變的,如果需要,他們被用來加快查詢,如「獲取這5個IDS每月總計過去5在原始數據中,這是大約1300萬行數據,從每月的300行。
我確實有SSIS提供給我。
- 我不能在這個過程中鎖定任何表。
當你說你的700M行正在呈指數級增長時,你的意思是你期望這張表增長到數十億行嗎?這改變了你需要的答案種類 - 如果規模穩定,那麼你需要優化當前的情況,它快速增長,然後你需要其他的東西。 – Elad 2011-04-14 14:57:57
我的確希望它能夠保持平穩,因爲大於5年的數據將被刪除,但這種情況不會發生一段時間(5個月),但到那時可能會被制動到數十億。 – Euclid 2011-04-15 09:57:19