2011-12-16 89 views
0

我面臨的情況是爲我的所有數據創建一個表,或者爲我的活動數據創建一個表,並在數據完成後將其移至歸檔表。數據庫:相同或單獨表中的活動數據和非活動數據

要存儲的數據是作業信息,其中可能有大約100個活動作業。這整個列表和所有信息經常被抓取並顯示在屏幕上。隨着工作進展,它也經常變化。

然而,一旦工作完成,它不需要改變,只需要搜索完成的工作。實際上,總數很少(每年約2000個)。

如果將過去的工作保存在一個單獨的表格中,活動作業的頻繁查詢會提高速度嗎?或者爲了簡單起見,活動和完成的工作是否應與完成的財產在同一張表中?

回答

0

它部分取決於您的服務器,但是任何索引良好的表都應該沒有問題,即每年從2000個表中找出100個活動作業。我認爲,歸檔工作的開銷會比你所看到的任何收益都要高。

0

通常,您所描述的體積不應該是您設計的決定性因素。即使您的工作表是爲了使單個記錄佔用1 kb而設計的,表格也會以2 mb /年的速度增長。這張表需要幾年的時間才能發展到會嚴重阻礙服務器整體性能的事情。

相反,正如Stuart在他的回答中所說的那樣,您應該看看維護歷史性表格的工作:您需要保持兩個表格同步,從設計角度來看,以便當前表格中的任何更改都不會破壞歷史悠久的餐桌。你將不得不編寫腳本來移動數據 - 如果你想查看當前和歷史數據,你將不得不編寫統一這兩個表的查詢。

或者,您可以添加一個位/布爾列「Active」,並根據員工的狀態打開和關閉此位。或者,如果您想製作更高級的解決方案,請添加開始日期和結束日期,並以此方式構建詳細的歷史記錄。