我有一个可能有点奇怪的用例。我必须对数据执行扩展计数并从中构建快照(类似于“可以访问此实体的用户数”)。现在我用时间戳将这些数字存储在每个实体中(因此基本上“在这个时间点,x个用户可以访问这个实体”)。
现在可能是,由于没有更改访问列表和/或没有添加用户,所以快照之间的数量没有变化。这甚至可能是默认情况。因此,我当然希望避免使用成千上万条相同的线路(“晚上10点有5个用户”、“晚上11点有5个用户”、“晚上12点有5个用户”等等)。因此,我想到了一个replacingmergetree。这个 order by
会是 entity, count
.
但是有个问题。如果我正确理解了文档,replacingmergetree现在将始终保留最新的行。所以时间戳会改变。虽然我想保留最早的时间戳,所以我知道第一次计算这个计数。反过来,我可以用它来填补空白(如果计数是3小时前的,并且中间没有新的计数,那么显然可以假设2小时前和1小时前的计数相同)。
有没有办法做到这一点?
唯一能想到的可能就是使用 uint
作为版本,从maxuint开始,然后递减。但这感觉有点奇怪。
暂无答案!
目前还没有任何答案,快来回答吧!