随笔 - 148  文章 - 3  评论 - 2  阅读 - 11万

mysql 统计表的数量

1. 创建存储过程,具体代码如下

复制代码
CREATE DEFINER=`root`@`localhost` PROCEDURE `p_cal_count`( )
BEGIN

    /*---------------------------------------------------------
   -- 库\表:`beststock`.`t_count`
   -- 功能: 定期统计各表的数据量
   -- 入参: 
     -- 出参: 
   -- added by Bruce He 7/21/2020
   -- modified by 
-----------------------------------------------------------*/
    /*用于判断是否结束循环*/
  declare done int default 0;
    
    /*存储表名称的变量*/
    declare curtable VARCHAR(200);
    
    /*获取所有符合条件的表名称,并存入变量 tbs_list*/
    declare tbs_list cursor for select table_name from information_schema.`TABLES` where table_schema='beststock' and (table_name like 'ts%' or table_name like 'rim%');
    
    /*定义 设置循环结束标识done值怎么改变 的逻辑*/
    declare continue handler for not found set done =1;
    
    
    open tbs_list;
    
    /* 循环开始 */
    REPEAT
    
    fetch tbs_list into curtable;
    
    if not done then 
    
            /* 初始化 0 */
            set @v_count = 0;

            /* 动态语句执行 */
            set @sqlscript = concat('select count(1) into @v_count from ', curtable);
            prepare tem from @sqlscript;
            execute tem;

            insert into beststock.t_count (tablename, count, date) values (curtable, @v_count, CURRENT_DATE);
            
            deallocate prepare tem; 

        
    end if;

UNTIL done END REPEAT;

close tbs_list;

END
复制代码

 

2. 开启定时任务;

-- 查看定时任务是否开启;ON 开启, OFF 未开启
show variables like '%schedule%';

-- 开启定时任务
set global event_scheduler = 1;

 

3. 设置定时任务事件

            

 

posted on   bruce_he  阅读(1729)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示