sharding jdbc按月分表,如果查询到没有建表的月份报错

sharding jdbc按月分表,建表要自己写代码按月建表,这没问题
我们目前建表机制是定时建新的月的表,假设目前已建2019年5-9月的表,但查询条件的时间范围是2019.1-2019.8,因为2019年1月表没有,就报错了,报缺表的错
暂时想到以下方法:
把当前月前后一段长时间的表都建好(例如前后两年),这样基本把查询条件时间覆盖
在sharding jdbc分表算法加判断,不返回不存在的物理表表名,缺点是要知道当前已建的物理表,且需要同步

阅读 5.7k
1 个回答

感觉,你这无解啊,本身查询就和系统绑定了。。
另外,你历史数据归档问题,也得考虑,如果就是查询之前的数据呢。
再有,如果你设计就是从5月份开始的,报错完全没问题。友好提示一下就可以了。
最后,最好做一次sql解析了,在那里做下判断,是否有越界的条件了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题