相关转载:
①mysql8.0 数据库中表的行数不显示,大小也不显示_-CSDN问答
②MySQL8.0 存储表的行数和修改日期不自动更新的问题_mysql表插入数据,但是修改日期无值-CSDN博客
=============================================================
个人总结:
本人一开始上手的就是MySQL8+的版本(现在算是知道为啥很多都在5.6版本左右了XD)
MySQL8前,会通过information_schema的表来获取一些元数据,例如auto_increment,indexes表获取索引等,我们利用一些数据库工具,例如dbeaver或者Navicat等,可以很直观地看到这些信息;
但是MySQL8后,这些数据就不那么准确了,具体表现为:对数据库进行写或者删,修改自增值等这些操作后,保存,发现它展示的数据和实际出入相差甚远(后来发现只是信息没有同步,但是实际的数据库是没有问题的),看了参考后,应该是数据字典的缓存有问题,没有实时更新真实的数据。
那么最简单粗暴的解决方法,使用数据库命令去立即更新信息:
analyze table 表名
但是参考也提到,每次都要手动更新,那么tables表存在的意义就不大了,因此参考文章,修改字典缓存的更新速率(它默认是86400,也就是24小时,把它改为0,即可实现实时更新)
设置的相关操作参考:MySQL设置information_schema_stats_expiry 为0_mob64ca12df277e的技术博客_51CTO博客
本人是windows版的mysql,进入到安装的文件夹中,找到my.ini文件,打开(记事本开就行),在最下面添加这段:
information_schema_stats_expiry=0
保存,重启mysql服务(我直接重启电脑...)
重启MySQL教程:MySQL_Windows 下重启MySQL服务_win7 mysql重启bin目录下的-CSDN博客,大差不差!
MySQL设置information_schema_stats_expiry 为0_mob64ca12df277e的技术博客_51CTO博客 标签:information,数据库,MySQL,CRUD,博客,表后,mysql,schema From: https://www.cnblogs.com/MorningMaple/p/17976775