更新sql慢更新时间戳

时间:2013-11-22 17:22:18

标签: sql postgresql

PostgreSQL 9

我有一个超过500K行的表,我想更新一些 “没有时区的时间戳”字段。

UPDATE order_update 
SET last_attempt_ts = (last_attempt_ts AT TIME ZONE 'EST') AT TIME ZONE 'UTC';

但是这个sql很慢,有更好更快的方法吗?

1 个答案:

答案 0 :(得分:0)

如果我理解你要做什么,你将时间戳从EST转换为UTC(即使该字段没有你想要调整时间的时区)

你试过这个吗?:

UPDATE order_update 
SET last_attempt_ts = last_attempt_ts + interval '5 hour';

运行后执行回滚

回滚;

因为EST具有夏令时,这意味着几个月你需要添加4小时或5个,所以你实际上需要运行2个查询以产生相同的效果

希望它有所帮助!