为了账号安全,请及时绑定邮箱和手机立即绑定

根据年月分表,相关查询问题

根据年月分表,相关查询问题

三国纷争 2019-03-04 16:19:36
1.例如一个表名y_capture_2018_01,数据表名是根据年月来动态生成的(y_capture_2018_02);2.每个表里面都有自增主键id,还有个created_at(where条件)字段;3.比如我现在要查询2017-09-16到2018-01-02里面的数据符合条件的数据(先要找到表,然后查询,还要分页,还要效率高),这里面可能包含查全表;4.这个好像也不太适合用laravel模型写(表名是动态的),如果用模型写出来查询最好;5.查出来的id可能会有重复数据该怎么解决,重命名吗?6.我该怎么写sql语句和分页查询,我看过有人用union,那时间跨度大union会不会太慢;7.表引擎是InnoDB的,merge不可行;8.有什么好的思路可以指导一下我。
查看完整描述

4 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

首先你这个分表的设计就不对,如果怕数据量大,用mysql自带的分区就行了,mysql自带的分区是通过数据库底层分区,不会影响代码逻辑,修改代码的成本为0。不建议自己去创建一套建表逻辑。


查看完整回答
反对 回复 2019-03-12
?
翻阅古今

TA贡献1780条经验 获得超5个赞

8.有什么好的思路可以指导一下我。

不要用 MySQL 。换 PostgreSql ,自带表分区功能。


查看完整回答
反对 回复 2019-03-12
  • 4 回答
  • 0 关注
  • 614 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号