mysql - mysql工作台中Info表下的表行表示什么?

标签 mysql

enter image description here

当点击mysql工作台中特定表的信息时,有一个名为表行的参数,旁边有一个数字。它与表中实际的记录数不匹配,也不会与单击“分析表”更新可能过时的参数后的实际计数同步。这说明什么?

最佳答案

这是来自 information_schema.tablesnum_rows 列的值(或来自 information_schema.innondb_sys_tablestats)。

这是表中行数的估计;优化器在评估可能的执行计划的可能成本(性能)时使用它。

对于 InnoDB,统计数据是使用采样技术收集的,随机深入到多个页面;采样页面的结果将推断到整个表格。

再次强调,num_rows并非旨在准确计算表中的行数;它是优化器使用的估计值。

请参阅 MySQL 引用手册ANALYZE TABLE,以及 InnoDB 统计信息收集。

引用:

https://dev.mysql.com/doc/refman/8.0/en/innodb-performance-optimizer-statistics.html

关于mysql - mysql工作台中Info表下的表行表示什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58310364/

相关文章:

mysql - 另一个 MYSQL Join 问题

mysql - UNIQUE 约束与 INSERT 之前的检查

php - 2 表查询正确协议(protocol)

mysql - 我能否仅在更新的行不存在时更新一组行?

mysql - Sql 查询使用 SQL 查询将第二行数据显示到第一行,将第三行数据显示到第二行,依此类推

php - Joomla 2.5 - 显示活跃的登录用户

mysql - 如何有效地找到以 N 开头的序列中的第一个间隙(缺失的数字)

php - 使用返回 0 的查询行比较 mysql 密码哈希(不工作)

mysql - 我可以使用 join 而不是返回 1 行的子查询吗?

mysql - mysql使用group by和inner join时的错误行为