码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MySQL中count(*)和information_schema.tables中的table_rows值不相同


    前两天我还在高高兴兴地写了一篇文章《一条SQL查询出MySQL数据库中所有表的数据量大小》,心想这也太方便了,只用一条SQL就能统计出所有表的数据量,但没想到,最终还是翻车了。。。

    翻车过程如下:

    有一张表,在information_schema.tables中,其table_rows显示为1316万行,如图所示:
    在这里插入图片描述
    但是使用count(*)来查询该表的行数,结果居然为6055万行。
    在这里插入图片描述
    为什么两者不一致,且差距如此巨大呢?

    翻车原因:
    我们先来看一下官网的解释:

    The TABLES table provides information about tables in databases.

    information_schema.tables这张表提供数据库中表的一些信息;

    TABLE_ROWS: The number of rows. Some storage engines, such as MyISAM, store the exact count. For other storage engines, such as InnoDB, this value is an approximation, and may vary from the actual value by as much as 40% to 50%. In such cases, use SELECT COUNT(*) to obtain an accurate count.

    table_rows这个字段,其值为行的个数。对于一些存储引擎,比如MyISAM,存储的是确切的行数。但是对于其他的存储引擎,比如InnoDB,这个值则是估算的,可能与实际值相差40%至50%。这种情况下应该使用COUNT(*)来获取准确的行数统计。

    For InnoDB tables, the row count is only a rough estimate used in SQL optimization. (This is also true if the InnoDB table is partitioned.)

    对于InnoDB表,行计数只是SQL优化中使用的粗略估计。(这也适用于 InnoDB 表进行了分区的情况。)

    想要获取更多信息,可以参考MySQL官网中的The INFORMATION_SCHEMA TABLES Table;

  • 相关阅读:
    DDD 学习笔记
    数字货币--暗池
    AtCoder Beginner Contest 254【VP记录】
    【设计模式】聊聊职责链模式
    java线程池详解
    springboot个性化课程推荐系统毕业设计源码131805
    redis实战篇03
    数据结构——线性表之顺序表的基本操作讲解
    华为奔赴“空间智能”,全屋智能的逻辑变了吗?
    第三章 Wireshark入门
  • 原文地址:https://blog.csdn.net/itigoitie/article/details/128161560
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号