INFORMATION_SCHEMA中" tables“表的CREATE_TIME列显示了我的所有InnoDB表的相同CREATE_TIME。这意味着所有这些表都是在2010-03-26 06:52:00和2010-03-26 06:53:00之间创建的,而实际上它们是在几个月前创建的。
InnoDB表的CREATE_TABLE字段是否会自动更改?
发布于 2010-03-27 03:30:06
对于InnoDB,INFORMATION_SCHEMA.TABLES中的FRM值基于表的CREATE_TIME文件的修改时间。因此,这很可能代表您最后一次运行ALTER TABLE或OPTIMIZE TABLE。
发布于 2010-03-26 13:22:50
information_schema的create_time和update_time字段对应于表的底层存储的创建/修改时间戳。
使用MyISAM,每个表都有自己的文件,因此会返回该文件的创建/修改时间戳。
然而,对于InnoDB,所有表的存储都在单个文件ibdata中,因此只有一个创建/修改时间戳。对于所有的InnoDB表,都会返回这个时间戳。
发布于 2019-04-21 17:24:01
我使用的是MySQL 5.7.17。
如果您有MyISAM表,即使您优化了MyISAM表,它也会显示正确的表创建日期。(Show table status where name =‘tablename’;)
如果您有innodb表,它将显示错误的创建日期,因为一旦您在内部优化innodb表,它将使用alter table,因此它将显示您的创建表日期和时间,这将是post优化日期。
对于这个版本,我们需要使用information_schema.tables来获取表的创建日期。
https://stackoverflow.com/questions/2521261
复制相似问题