我有一個場景,其中有大量關於項目的狀態數據。 該項目的狀態從分鐘到分鐘更新,在不久的將來約有50,000件物品。因此,在一個月內,將會有約22.23億行數據。在獲得舊數據之前,我必須在主表中保留至少3個月的時間。我必須計劃根據特定項目(其ID)和數據範圍(通常最多一個月範圍)來實現快速查詢 - 例如,從表中選擇A,B,C其中ItemID = 3000和'2010-10-01'和'2010-10-31 23:59:59.999'之間的日期'在SQL Server 2008中爲查詢性能分區
所以我的問題是如何設計一個分區結構實現那個?
目前,我基於「項目的唯一標識符」(一個int)mod「分區數」進行分區,以便所有分區平均分配。但是它的缺點是在表上保留一列作爲分區函數的分區列,因此將該行映射到其分區。所有這些都增加了一點額外的存儲空間。另外,每個分區都映射到不同的文件組。
這是一些負載。閱讀[這裏](http://sqlblog.com/blogs/paul_nielsen/archive/2007/12/12/10-lessons-from-35k-tps.aspx)關於大量寫入(你有50k行*每秒*來電)。我很好奇你將如何解決這個問題:我沒有這種數量/增長率的經驗) – gbn 2010-11-22 18:58:38
你想要設計寫查詢效率還是讀查詢效率?你有什麼樣的讀取負載? – 2010-11-30 12:56:24