首页 > 解决方案 > 在 CockroachDB 中访问行的最后更新时间

问题描述

我希望仅提取自给定时间以来在 CockroachDB 中更改的行。我们这样做是为了能够在不同的数据库技术中维护表的从属副本。我研究了 changefeeds,但它们看起来很基本(特别是如果我们决定非企业化)。我还阅读了 Cockroach 如何使用MVCC,但我没有找到任何有关访问与底层存储技术中的行相关联的时间戳的信息。

有没有办法通过 SQL 或其他方式访问这个时间戳?

我正在考虑的几个替代方案:

如果使用低级时间戳不现实,您对上述方法有什么建议吗?

标签: cockroachdb

解决方案


CockroachDB 的 v20.2 版本包括 crdb_internal_mvcc_timestamp 可以在这里提供帮助。您可以在此处查看有关它的发行说明:https ://www.cockroachlabs.com/docs/releases/v20.2.0-alpha.3.html

但是,该列不能被索引,因此如果表非常大,对其进行过滤会很慢。

使用last_updated_at您维护的列并向其添加索引可能会更好。请注意,如果您对表执行大量顺序写入,则可能需要使用散列分片索引


推荐阅读