mysql 2000万_MySQL单表2000万数据查询慢,时间触发器+分区解决
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;
1055
执行select @@sql_mode
结果如下:ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
