我正在考虑重新架构现有的应用程序,并且想知道如何最好地处理这些表。
目前,我们每年有一张桌子(data_2009,data_2010等)。大多数查询仅按年份完成 - 例如,从data_2010中选择sum(sales),其中user = 10。
每年约有100万行;到目前为止,我们已经有10年了,而且我们可能会无限期地继续下去。
然而,有时候,应该一直进行计算。目前,每年运行一次的单独汇总表处理不当,每个用户每月都有行(然后用当前年份汇总/计算等)。这有各种限制,我想放弃汇总表的想法。
每年有一张大桌子并创建视图会更好吗?或者留在单独的桌子上并持续观看?例如
的视图从data_2005中选择* 联盟 从data_2006中选择* 等
一个问题是如何处理索引 - 如果我在字段“user”上有索引,比如说,在两种情况下都使用了吗?
答案 0 :(得分:1)
使用一个表,但使用表分区和年份分区。有关分区的更多信息可以在这里找到