mysql 使用 table_rows 统计表格行数不准确

摘要:
使用表_行统计表的行数不准确。首先,生产环境不建议这样做。统计数据不准确的原因是什么?事实上,MySQL 8.0用于改善信息_模式的查询效率将统计信息缓存在表和统计数据中。缓存过期时间由参数information_schema_stats_确定。默认值为86400s;如果您想获得最新的统计信息,可以使用
使用 table_rows 统计表格行数不准确
 
  • 首先生产环境不建议这样做,只是为了测试
  • 导致统计信息不准确的原因是什么呢?其实是MySQL 8.0为了提高information_schema的查询效率,将视图tables和statistics里面的统计信息缓存起来,缓存过期时间由参数information_schema_stats_expiry决定,默认为86400s;如果想获取最新的统计信息,可以通过如下两种方式:

    (1)analyze table进行表分析

    (2)设置information_schema_stats_expiry=0

  • 所以针对以上情况
     

    use mysql;
    SET GLOBAL information_schema_stats_expiry=0;
    SET @@GLOBAL.information_schema_stats_expiry=0;
    SET SESSION information_schema_stats_expiry=0;
    SET @@SESSION.information_schema_stats_expiry=0;

    use information_schema;
    -- select sum(table_rows) from tables where TABLE_SCHEMA = "limesurvey" order by table_rows asc;
    select table_name,table_rows from tables
    where TABLE_SCHEMA = 'limesurvey' and table_rows>0
    order by table_name ;

免责声明:文章转载自《mysql 使用 table_rows 统计表格行数不准确》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[C# 开发技巧]实现属于自己的截图工具Flume日志收集下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MYSQLdump参数详解

mysqldump客户端可用来转储数据库或搜集数据库进行备份或将数据转移到另一个SQL服务器(不一定是一个MySQL服务器)。转储包含创建表和/或装载表的SQL语句。 如果你在服务器上进行备份,并且表均为MyISAM表,应考虑使用mysqlhotcopy,因为可以更快地进行备份和恢复。 有3种方式来调用mysqldump: shell> mysqld...

mysql升级后提示Please run mysql_upgrade

现象: 2020-12-10T05:16:25.210531Z 7003 [Warning] InnoDB: Table mysql/innodb_index_stats has length mismatch in the column name table_name.  Please run mysql_upgrade2020-12-10T05:16:...

[转]Android 操作SQLite基本用法

在Android开发中SQLite起着很重要的作用,网上SQLite的教程有很多很多,不过那些教程大多数都讲得不是很全面。本人总结了一些SQLite的常用的方法,借着论坛的大赛,跟大家分享分享的。一.SQLite的介绍1.SQLite简介SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入  式的,而且目前已经在很多嵌入...

mysql 使用group by之后返回的总条数问题

标签一共有三级。 原本产品只与三级标签关联。 这样的话根据一级标签就搜索不到产品。 因为客户要求点击一级标签或二级标签要能搜出三级标签的产品,所以后台做了处理,把产品与一级二级标签都进行了关联,所以导致产品与标签不是一对一的关系,变成一对多的关系,所以用左连接查询会有产品重复的情况。 所以在查询的时候用了mysql的group by,查询的时候根据产品id...

mysql 有就更新 没有就插入

数据持久化的过程中,有时会遇到这样的需求: 当数据库表中存在符合某种条件的数据时,需要去更新它,不存在时,则需要新增,也就是insertOrUpdate操作,本文主要讲解MySQL中的INSERT ... ON DUPLICATE KEY UPDATE语句,该语句是基于唯一索引或主键使用,比如一张表中含有a,b,c三个字段,字段a被加上了unique in...

win10 mysql5.7忘记密码如何解决

点击开始菜单,搜索cmd.exe,左击以管理员身份运行 操作之前先备份好数据库(切忌) C:UsersAdministrator>cd C:Program FilesMySQLMySQL Server 5.7in C:Program FilesMySQLMySQL Server 5.7in>mysqld --skip-grants-tables...