假设业务场景是电商订单
1.买家的订单分页查询
查询的时候就是可以带买家ID的,所以就可以根据买家ID路由到单个库中进行分页以及排序。
2.卖家的订单分页查询
采用空间换时间的方案,同步出一张按照卖家维度做分表的表来,同步的过程中一般是基于bin log 做自动同步。可能存在秒级的延迟,但是可以接受的。
当一条订单创建出来之后,会在买家表创建一条记录,以买家ID作为分表字段,同时,也会在卖家表创建一条记录出来,用卖家ID进行分表。
这个表不会做任何写操作,只提供查询服务,可以用一些机器配置没有那么高的数据库实例。
3.管理员的订单分页查询
大型互联网公司用的比较多的方案就是使用分布式数据仓库来实现,也就是说我们会把这些数据同步到像TiDB等这些数据库中,或者同步到ES中,然后在这些数据库中做数据的聚合查询。
觉得方案重就不要分库分表