2017-04-12 68 views
3

我想通过PSQL数据库创建一个触发器或某种事件,这个事件将在月末触发,并存储来自一个表的数据(每个员工每天下班回家时限制每个员工的数据)类型的表(数据库),所以我仍然可以达到该数据,如果我进行月度报告(PSQL是数据库,C#用于制作应用程序)。任何想法如何做到这一点?在PSQL中为每个月创建一个存储“集合”?

回答

3

除非您迫切需要将这些数据分离出来,否则将它放在它所在的表中。您通常不需要将旧数据归档到数据库中,只需编写查询以选择自月初以来创建的数据等。

如果必须执行归档并汇总进程,请使用cron或任务调度程序作业,调用plpgsql过程为您的表执行适当的INSERT INTO ... SELECTDELETE FROM查询。没有通用的方法来做到这一点。

如果你正在寻找的是表分区,有像pgpartman这样的工具。但是如果你只是调整你的查询/索引,你可能不需要它。

+0

所以你说它更好地使用应用程序窗体中的过滤器,然后在单独的表中排序数据?我唯一担心的是,它会在连接和从数据库获取数据之后进行连接。 2年过去了?如果我的计算是正确的,那么在该年的表格中应该有21,000行。 –

+0

它绝对是*在SQL中使用过滤器比单独的表更好。 21000行非常小巧,就像“你甚至不需要索引”一样小。如果你有数百万行,你需要更多的关注,但仍可能不需要划分表。 –

+0

感谢您的提示和提高,欣赏它=) –

相关问题