MYSQL如何统计多表总记录数

MYSQL如何统计多表总记录数,第1张

统计信息是数据库基于成本的优化器最重要的参考信息;统计信息不准确,优化器可能给出不够优化的执行计划或者是错误的执行计划。对统计信息的计算分为非持久化统计信息(实时计算)与持久化统计信息。

非持久化统计信息

统计信息没有保存在磁盘上,而是频繁的实时计算统计信息;

每次对表的访问都会重新计算其统计信息;

假设针对一张大表的频繁查询,那么每次都要重新计算统计信息,很耗费资源。

持久化统计信息

把一张表在某一时刻的统计信息值保存在磁盘上;

避免每次查询时重新计算;

如果表更新不是很频繁,或者没有达到 MySQL 必须重新计算统计信息的临界值,可直接从磁盘上获取;

即使 MySQL 服务重启,也可以快速的获取统计信息值;

统计信息的持久化可以针对全局设置也可以针对单表设置。

接下来,详细说 MySQL 统计信息如何计算,何时计算,效果评估等问题。在 MySQL Server 层来控制是否自动计算统计信息的分布,并且来决策是持久化还是非持久化。

用count(*)函数来统计,返回匹配指定条件的行数。

例如有个表名称为demos,那么统计行数可以写:select count(*)  from demos;

后面可以加限制条件,例如统计val大于3的记录行数:select count(*)  from demos where val>3

扩展资料:

MySQL COUNT(*)

The COUNT(*) function returns the number of rows in a result set returned by a SELECT statement. TheCOUNT(*) function counts rows that contain no-NULL and NULL values.

COUNT(*) 语法

SELECT COUNT(*) FROM table_name

参考资料:MySQL官网-MySQL COUNT


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8651669.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存