2017-04-12 27 views
3

我想通過PSQL數據庫創建一個觸發器或某種事件,這個事件將在月末觸發,並存儲來自一個表的數據(每個員工每天下班回家時限制每個員工的數據)類型的表(數據庫),所以我仍然可以達到該數據,如果我進行月度報告(PSQL是數據庫,C#用於製作應用程序)。任何想法如何做到這一點?在PSQL中爲每個月創建一個存儲「集合」?

回答

3

除非您迫切需要將這些數據分離出來,否則將它放在它所在的表中。您通常不需要將舊數據歸檔到數據庫中,只需編寫查詢以選擇自月初以來創建的數據等。

如果必須執行歸檔並彙總進程,請使用cron或任務調度程序作業,調用plpgsql過程爲您的表執行適當的INSERT INTO ... SELECTDELETE FROM查詢。沒有通用的方法來做到這一點。

如果你正在尋找的是表分區,有像pgpartman這樣的工具。但是如果你只是調整你的查詢/索引,你可能不需要它。

+0

所以你說它更好地使用應用程序窗體中的過濾器,然後在單獨的表中排序數據?我唯一擔心的是,它會在連接和從數據庫獲取數據之後進行連接。 2年過去了?如果我的計算是正確的,那麼在該年的表格中應該有21,000行。 –

+0

它絕對是*在SQL中使用過濾器比單獨的表更好。 21000行非常小巧,就像「你甚至不需要索引」一樣小。如果你有數百萬行,你需要更多的關注,但仍可能不需要劃分表。 –

+0

感謝您的提示和提高,欣賞它=) –

相關問題