如何获取数据表中最新的数据最新时间?

【产品名称】

oceanbase

【产品版本】

3.1.2

【问题描述】

该怎么获取数据表中最新的数据更新时间,类似于mysql8的information_schema.table 表中的update_time字段,目前这个版本主要兼容5.7,貌似这个字段只会记录数据表结构的更新时间,最新的写数据的时间没有被记录,是不是某个变量需要设置一下?

问题已收到;我们调研一下,可以后续版本支持;

1 个赞

1

看了下 MySQL的文档,MySQL :: MySQL 5.7 Reference Manual :: 24.3.25 The INFORMATION_SCHEMA TABLES Table

这里说的update_time没有明确的约束,一定是最后的表数据更新时间。并且不同的存储引擎,表现可能还不同。所以即使在MySQL上也不建议使用此字段处理业务。

另外在OB上,这种功能实现起来就很困难了。OB是分布式数据库,每次更新数据时,要把每个表更新的时间,汇总到某个地方,成本还是蛮高的。

想问一下,这个时间用途是什么?或者说这个需求主要作用是什么?

感觉这个最好不要依赖数据库去实现业务

不支持

目前mysql还是以5.7为主,8.0上生产的很少,5.7和8.0差异巨大,暂时应该还不会去兼容8.0吧。

受教了

我们公司有采购很多外部数据,现在要做一个数据面板,可以看到从各个厂商采的数据,会直接展示数据库中的数据表信息,有个需求就是要获取这些表数据的最新写入时间

用ob之前是用mysql8.0解决的吗

不是,我们一开始就是用的ob,按照mysql一贯的用法在使用,因为有这个需求,就想办法能不能通过数据库提供的机制拿到这个数据,然后发现mysql8.0能提供这个,但ob目前没有实现这个机制,现在只能自己写个接口维护这个数据