温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySQL怎么使用event进行自动分表

发布时间:2021-11-02 17:31:23 阅读:393 作者:小新 栏目:MySQL数据库
亿速云mysql数据库,读写分离,安全稳定,弹性扩容,低至0.3元/天!! 点击查看>>

这篇文章给大家分享的是有关MySQL怎么使用event进行自动分表的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

新单位需要分表处理一个大的日志表。
首先,开启event功能。
SET GLOBAL event_scheduler = 1;
然后根据时间自动创建新表,并将视图更改到新表的查询。

  1. --模拟日志表

  2. create table t1 (id int,log varchar(30));

  3. --模拟视图

  4. create view v_log as select * from t1;


  5. delimiter $$

  6. CREATE EVENT test_event

  7.     ON SCHEDULE

  8.         EVERY 1 second

  9.     STARTS str_to_date('2014-04-14 20:10:00','%Y-%m-%d %T')

  10.     COMMENT '根据日期创建一个新的日志表,并将视图修改为对新日志表的查询'

  11.     DO

  12.         BEGIN

  13.             set @cur_date=replace(curtime(),':','_');

  14.             set @sqltext=concat("create table log_", @cur_date ,"(id int);");

  15.             PREPARE c_tab_stat from @sqltext;

  16.             execute c_tab_stat;    

  17.             set @sqltext=concat("create or replace view v_log as select * from log_",@cur_date,";");

  18.             select @sqltext;

  19.             PREPARE a_view_stat from @sqltext;

  20.             execute a_view_stat;    

  21.         END $$

  22. delimiter ;

感谢各位的阅读!关于“MySQL怎么使用event进行自动分表”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:http://blog.itpub.net/31544252/viewspace-2157079/

AI

开发者交流群×