一、 水平、垂直拆分
-
垂直拆分:简单的说就是将数据库及表由一个拆分为多个,如我们这里的电商数据库,可以垂直拆分为用户数据库、商品数据库和订单数据库,订单表可以垂直拆分为订单基本信息表,订单收货地址表、订单商品表等,每一个表里保存了一个订单的一部分数据。
-
水平拆分:简单地说就是将一个库、一个表扩展为多个库,多个表,每一个拆分后的表中保存的依然是一个订单的完整信息。如电商数据库,我们按水平拆分数据库和表后,每一个拆分后的数据库表与现有未拆分前的都保持一致。
-
常用拆分方法:上述仅从理论上讲解了可行的水平、垂直拆分方法,在实际的生产上,我们拆分一般是按照水平拆表、垂直拆库这一原则进行,在业务比较复杂的场景下也会对表进行垂直拆分。
| 拆分键 |
商品编号 |
收货地址 |
| Order_id | Sku_code | address |
| 拆分键 |
订单号 |
重量 |
| Waybill_code | Order_Id | weight |
| 非拆分键查询条件 |
拆分键 |
| 用户编码 |
订单号 |
| 运单号 |
订单号 |
| 拆分键 |
商品编号 |
收货地址 |
| Order_id | Sku_code | address |
| 拆分键 |
订单号 |
重量 |
| Waybill_code | Order_Id | weight |
三、 拆分键的生成

