水平分表如何进行查询?

Mantis
  • 343

水平分表后数据的查询问题,假设对一个业务的数据进行水平拆分,每月的纪录存入一张表,每张表的数据在1000w左右,现已有20多张表,例如table_201606,...,table_201702...table_201804,如果需要查询2016年7月的数据到2018年3月的数据,该如何来查询?需要考虑性能、查询速度问题。

回复
阅读 4.4k
2 个回答

这个没啥特别的方法吧,每个单表做查询,然后把结果集做汇总。

可以是动态生成的带union的语句,也可以在应用程序中循环查询单表,然后做结果集合并。

你的表后面不就是年月么?用PHP先拼接要查询的表,数据出来后汇总即可。还有一种办法是根据你水平分表的规则查询主表就行了。两种方法选一种就行

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