在我的页脚,我想添加一些东西,如“上次更新xx/xx/200x”,这个日期是最后一次某个mySQL表已更新。
最好的方法是什么?是否有检索最近更新日期的函数?每次需要这个值时,我都应该访问数据库吗?
在我的页脚,我想添加一些东西,如“上次更新xx/xx/200x”,这个日期是最后一次某个mySQL表已更新。
最好的方法是什么?是否有检索最近更新日期的函数?每次需要这个值时,我都应该访问数据库吗?
当前回答
只需从文件系统中获取修改过的文件日期。用我的语言来说就是:
tbl_updated = file.update_time(
"C:\ProgramData\MySQL\MySQL Server 5.5\data\mydb\person.frm")
输出:
1/25/2013 06:04:10 AM
其他回答
我让它在本地工作,但不是在我的公共网站的共享主机上(我想是配股问题)。
SELECT last_update FROM mysql.innodb_table_stats WHERE table_name = 'yourTblName';
'2020-10-09 08:25:10'
MySQL 5.7.20-log在win8.1上
当查询不可用时,将查询缓存在全局变量中。
创建一个网页,在更新缓存时强制重新加载缓存。
将对重新加载页面的调用添加到部署脚本中。
只需从文件系统中获取修改过的文件日期。用我的语言来说就是:
tbl_updated = file.update_time(
"C:\ProgramData\MySQL\MySQL Server 5.5\data\mydb\person.frm")
输出:
1/25/2013 06:04:10 AM
a)它会显示你所有的表和最近的更新日期
SHOW TABLE STATUS FROM db_name;
然后,你可以进一步询问具体的表格:
SHOW TABLE STATUS FROM db_name like 'table_name';
b)在上面的例子中,你不能在'Update_time'上使用排序,但是使用SELECT你可以:
SELECT * FROM information_schema.tables WHERE TABLE_SCHEMA='db_name' ORDER BY UPDATE_TIME DESC;
要进一步询问特定的表:
SELECT * FROM information_schema.tables WHERE TABLE_SCHEMA='db_name' AND table_name='table_name' ORDER BY UPDATE_TIME DESC';
操作系统级别分析:
查找DB在磁盘上的存储位置:
grep datadir /etc/my.cnf
datadir=/var/lib/mysql
检查最近的修改
cd /var/lib/mysql/{db_name}
ls -lrt
应该适用于所有数据库类型。