美文网首页
mysql 定时每秒插入向表插入数据

mysql 定时每秒插入向表插入数据

作者: 马小帅mm | 来源:发表于2019-12-06 16:58 被阅读0次

    最近接到个需求需要数据库表中每秒都需要有数据,大量的数据。求后端帮忙添加各种推脱,没时间。数据够了吧。。要那么多干什么。。。所以狠下心来自力更生!!
    实现的原理是:

    1. 创建一个插入数据的存储过程
    2. 用一个事件任务定时器每秒执行一次这个存储过程
    3. 事件需要手动开启
    4. 再手动开启定时器
      这时这个任务就会自动每秒插入一条数据

    1、创建存储过程

    # NOW()获取当前时间 FLOOR(1+(RAND()*60))从1~60中随机获取一个整数
    CREATE PROCEDURE insetUserProcedure()
    BEGIN
    INSERT INTO user(time,name,sex,money) VALUES (NOW(),'mm','1',FLOOR(1+(RAND()*60)));
    END
    

    2、创建事件定时器

    # 这个事件主要用来执行存储过程   一秒钟执行一次
    CREATE EVENT IF NOT EXISTS eventUser
    ON SCHEDULE EVERY 1 SECOND
    ON COMPLETION PRESERVE
    DO CALL insetUserProcedure();
    

    3、开启和关闭事件

    # 开启事件test_event
    alter event eventUseron completion preserve enable;
    # 关闭事件test_event
    alter event eventUseron completion preserve disable;
    

    4、启动和关闭定时器

    # 启动定时器
    SET GLOBAL event_scheduler = 1; 
    

    5、另外造完假数据别忘了删了清理存储过程、事件和关闭定时器,

    # 查看事件
    SHOW EVENTS;
    # 删除事件
    DROP EVENT eventUser;
    # 停止定时器
    SET GLOBAL event_scheduler = 0; 
    # 删除存储过程
    DROP PROCEDURE insetUserProcedure;
    

    相关文章

      网友评论

          本文标题:mysql 定时每秒插入向表插入数据

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