我使用django 1.10和PostgresSQL DB。
我有一张数百万的表,未来有数十亿条记录。每条记录都有一个DateTimeField作为时间戳。显然,查询这个表很长,因此需要一些索引,我在几个字段上(不在时间戳上),但是当我需要计算特定时间范围内的所有记录时,索引没有帮助。
我想知道django是否有一种智能内置方式来根据年,月,日,小时分辨率索引DateTimeField。或者我是否必须将时间戳字段分隔为每个分辨率的多个字段,然后为每个分辨率编制索引?
该表用于保存点击属性,因此对于每次点击我都有id,source,timestamp,user_device,price和is_success属性。
现在,考虑到某个时间段,我想 -
1)计算在该时间范围内生成的所有点击次数。
2)在该时间范围内计算所有成功的。
3)在该时间范围内总结所有成功者的价格。
4)可选择按源,用户设备,年,月,日,小时中的一个或多个进行分组。
1是问题所在。对于2,3,我有一个指数而4则不那么重。
谢谢!