美文网首页
统计所有表行数

统计所有表行数

作者: 这货不是王马勺 | 来源:发表于2022-09-27 16:03 被阅读0次

    统计test数据库下所有的表的行数,生产统计语句。

    select concat(
        'select "', 
        TABLE_name, 
        '", count(*) from ', 
        TABLE_SCHEMA, 
        '.',
        TABLE_name,
        ' union all'
    ) from information_schema.tables 
    where TABLE_SCHEMA='test';
    

    然后将生成的sql拼接起来(去掉最后一个union all即可),再进行查询

    利用information_schema也可以进行查询,但由于统计数据不是实时的,因此需要进行analyze table 表名
    之后:

    select sum(table_rows) from tables where TABLE_SCHEMA = "test" ;
    select table_rows,table_name from tables where TABLE_SCHEMA = "test" ;
    

    如果是8.0版本之后还可以通过修改information_schema_stats_expiry来解决

    set global information_schema_stats_expiry=0
    

    此参数决定了字典对象缓存实时更新的时间,该参数默认值为86400,即24小时。

    相关文章

      网友评论

          本文标题:统计所有表行数

          本文链接:https://www.haomeiwen.com/subject/jxnfartx.html