我想使用自定义SQLalchemy数据类型将大量的python float时间戳存储为标准的postgresql时间戳。我看到了诸如Defining a table with sqlalchemy with a mysql unix timestamp之类的可能解决方案。我不喜欢它的原因是效率很低,因为它将浮点数转换为时间对象,然后再转换为时间戳记,而这应该只是“乘以1e6,添加一个常量并转换为int” -conversion,应该在时间上接近noop。虽然
$date = new DateTime('2012-07-22');
echo $date->format('Y-m-d 00:00:00');
在我的机器上,每次通话浪费2us左右。使用postgresql %timeit float(calendar.timegm(datetime.datetime.utcfromtimestamp(1542098001).timetuple()))
和to_timestamp
应该更快,更适合分析工作负载。 SQLalchemy中是否有一种方法可以将那些转换自动应用于影响该列的所有语句的SQL级别?我还考虑过使用一个简单的float字段进行存储,但我更希望能够使用时间函数来访问数据。
extract(epoch from timestamp_col)