垂直拆分:按业务模块拆分字段,适用于字段多但查询需求单一的场景。 水平拆分:按数据量拆分表结构相同的表,需通过分片键(如订单编号)定位具体表。
取模的特性:(前提被除数是 2 的 n 次方,除数除以被除数的得到的余数,这个余数转换成二进制一定会等于除数二进制最后 n 位)
比如,将买家 ID 融入到订单 ID 中,作为订单 ID 后缀。这样,指定买家的所有订单就会与其订单在同一分片内了
此情此景,如果在 查询某个用户的订单,就不用全表路由了。
现在是单片路由,直接根据用户id的最后4bit位,路由到订单的目标库表。
替换基因的时候是直接把基因拼接还是替换后 n 位