分库分表与基因法
基因法是分库分表场景中解决多维度查询问题的核心设计策略,其核心思想是**将非分片键的查询信息(基因)嵌入到分片键中**,使得非分片键的查询也能直接定位到目标分片,避免跨库扫描和全表路由的问题。 --- ### 一、基因法的核心原理 1. **基因嵌入机制** • 通过将非分片键的**部分特征值(基因)**嵌入到分片键中,使得分片键同时携带多个维度的信息。例如:订单号中嵌入用户ID的末几位二进制位,使得按用户ID查询时可直接定位分片。 • **数学基础**:基于模运算特性,例如 `N % 16` 的结果仅由N的二进制末4位决定。因此,通过将用户ID的末4位嵌入订单号末4位,可实现两者的分片路由结果一致。 2. **分片键设计** • 若分片数为 `2^n`(如16库64表),基因位数取 `n`...阅读全文