<分区>
我有一张 table
CREATE TABLE foo
(
f0 int,
time_stamp timestamp,
CONSTRAINT foo_pk PRIMARY KEY (f0)
)
我需要大量写入此表,因此性能是关键。有时,我会写一条记录,其中包含 f0
的现有值,并且只会将 time_stamp
更新为当前时间。为此,我使用了 ON CONFLICT..DO UPDATE
子句。
问题 是我需要知道是否发生了INSERT
或UPDATE
。
我虽然在使用第二个 is_update
列。插入时插入false
和
`ON CONFLICT .. DO UPDATE set is_update=true`
然后使用RETURNING is_update
得到我想要的。问题是引入了一个与数据本身无关的附加列。