mysql 2000万_MySQL单表2000万数据查询慢,时间触发器+分区解决

111948168_1_20170926045820629

MySQL

事起

当时我们一个项目,要不停地从第三方系统拿一些监控数据存起来,只保留2个月。数据量2千万+。这个数据量,查起来就比较慢了,我们就开始优化。

思路就是将表分区,我们是按照8周,将单表分了8个区,每周一都会将最早一周的分区Drop掉,然后新建下一周的分区。

定时任务这一块,我们当时也没想着用Quartz,直接用MySQL的时间触发器。

准备

为写本文档,我是在本机用5.7版本,中间会报一些错误,解决如下:

创建Function的时候,报1418错误:set global log_bin_trust_function_creators=TRUE;

永久解决

my.cnf中添加log_bin_trust_routine_creators=1;

111948168_2_20170926045820738

1055

执行select @@sql_mode

结果如下:ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部