码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MySQL 如何统计一个数据库中每个表的数据量


    一、诉求、采用的方法及出现的问题

      在项目中,有这样一种诉求:统计数据库中每张表的数据量。

      采用的方法:测试时,采用如下 SQL 语句进行统计(其中,测试时所用的数据库名称是 testmgmdb)。

    SELECT table_rows, table_name FROM information_schema.tables WHERE TABLE_SCHEMA = 'testmgmdb';
    
    • 1

      出现的问题:语句执行成功后,查询出了该数据库下的每张表的数据量。然而,结果并不准确。

    二、查询结果不准确的原因

      MySQL 官方网站对这个问题的解释如下所示(官网链接:26.3.38 The INFORMATION_SCHEMA TABLES Table)。

    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 is NULL for INFORMATION_SCHEMA tables.
    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.)

      翻译成中文,如下所示:

    表格行
    行数。某些存储引擎(如MyISAM)存储确切的计数。对于其他存储引擎,如 InnoDB,此值是近似值,与实际值的差异可能高达 40% 到 50%。在这种情况下,请使用 SELECT COUNT(*) 来获得准确的计数。
    对于 INFORMATION_SCHEMA 表,TABLE_ROWS 为 NULL。
    对于 InnoDB 表,行数只是 SQL 优化中使用的粗略估计。(如果 InnoDB 表是分区的,也是如此。)

      针对这种情况,可以更改存储引擎(实际项目中,肯定是不太合适,因为 InnoDB 是默认的存储引擎,能支持事务、外键,并发性能也比较好),或者直接使用 SELECT COUNT(*) 语句来统计。

  • 相关阅读:
    perl下mysql同步监控
    webpack5 之 css与js相关
    【WPF系列】- XAML语法规范
    .NET 平台 WPF 通用权限开发框架 (ABP)
    【详细学习SpringBoot自动装配原理分析之核心流程初解析-1】
    计算机网络第5章(传输层)----总结1
    【大数据采集技术与应用】【第一章】【大数据采集技术与应用概述】
    短期内从一个外行变成了解行业的人
    计算机图形学:光线追踪(ray tracing)
    方块栈问题
  • 原文地址:https://blog.csdn.net/piaoranyuji/article/details/133709234
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号