目录
一:范围约定分片规则【auto-sharding-long】
二:一致性hash分片规则【sharding-by-murmur】
mycat常用分片规则
一:范围约定分片规则【auto-sharding-long】:字段(项)为数字类型(int)
如0-500W分到分片库1,500W-1000W分到分片库2....
二:一致性hash分片规则【sharding-by-murmur】与mycat子表
1、一致性hash:murmur算法是将字段进行hash后分发到不同的数据库,字段类型支持int和varchar
2、子表的概念:就是把order_item作为订单的子表,保证一条记录的order和order_item在一个分片库上,这样在查询的时候就不用跨库关联查询,在自己的分片库就完成操作了。分片规则是以order主表的id进行分片,如默认分片规则:auto_sharding_long,0-500万、500万-1000万....
3、需要分片的表:orders、order_items、order_status
**在配置分片规则之前,我们要考虑一下,咱们的订单要以那个订单作为分片项,有的人说我们直接用订单的id作为分片项(用范围约定:auto-sharding-long分片规则),但是他合不合理呢?
选择订单id分片:
选择订单id分片有什么现象:比如用户A买了一次东西生成了一个订单,这个订单产生了一个订单号、订单id,根据这个订单id进