我有一个postgreSQL数据库,我想记录具体列随时间变化的方式。! C& r. d7 ]- O/ T
personID | status | unixtime | column d | column e | column f 213214 x y z 21325 x y z 21326 x y z 21327 x y z 21328 x y z 30 x y z 3 33313131 x y z 33332 x y z x y z我想跟踪一段时间内的所有状态。因此,基于此,我想要一个新的手表table其中包括以下数据:( d5 \( O, M: D0 D1 D S
personID | status | unixtime | column d | column e | column f 213214 x y z 333333 x y z x y zx,y,z是的,变量会在每一行之间变化。这些手表也有成千上万的personID,但是我想捕捉ID也有变化。根据状态,personid单个分组是不够的(如我所见),因为我可以存储相同的状态和personID几行,就像状态发生了变化一样。0 T) W3 @3 b/ c6 I; k
我在Python这个操作在中间执行,但是速度很慢(而且我猜是的IO也很多):3 V% w, X2 Y7 @* ?% \& R1 ~/ @
for person in personid: status = -1 records = getPersonRecords(person) #sorted by unixtime in query newrecords = for record in records: if record.status != status: status = record.status newrecords.append(record) appendtoDB(newrecords) ) L7 m+ C' K; [3 e4 L" I 解决方案: