sharding jdbc按月分表,建表要自己写代码按月建表,这没问题
我们目前建表机制是定时建新的月的表,假设目前已建2019年5-9月的表,但查询条件的时间范围是2019.1-2019.8,因为2019年1月表没有,就报错了,报缺表的错
暂时想到以下方法:
把当前月前后一段长时间的表都建好(例如前后两年),这样基本把查询条件时间覆盖
在sharding jdbc分表算法加判断,不返回不存在的物理表表名,缺点是要知道当前已建的物理表,且需要同步
sharding jdbc按月分表,建表要自己写代码按月建表,这没问题
我们目前建表机制是定时建新的月的表,假设目前已建2019年5-9月的表,但查询条件的时间范围是2019.1-2019.8,因为2019年1月表没有,就报错了,报缺表的错
暂时想到以下方法:
把当前月前后一段长时间的表都建好(例如前后两年),这样基本把查询条件时间覆盖
在sharding jdbc分表算法加判断,不返回不存在的物理表表名,缺点是要知道当前已建的物理表,且需要同步
15 回答8.4k 阅读
8 回答6.2k 阅读
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
2 回答2.8k 阅读✓ 已解决
感觉,你这无解啊,本身查询就和系统绑定了。。
另外,你历史数据归档问题,也得考虑,如果就是查询之前的数据呢。
再有,如果你设计就是从5月份开始的,报错完全没问题。友好提示一下就可以了。
最后,最好做一次sql解析了,在那里做下判断,是否有越界的条件了。