
# DDM如何进行分片
在分布式数据库中，可以通过分片存储方式，轻松解决大数据量单表容量达到单机数据库存储上限的瓶颈，因此创建逻辑库和逻辑表时，需要根据实际情况确定逻辑表是否进行分片以及逻辑表的分片规则。
![](https://support.huaweicloud.com/ddm_faq/public_sys-resources/note_3.0-zh-cn.png)
分片存储后，需要尽量避免跨库JOIN操作带来的性能与资源消耗问题。
- 逻辑表是否分片 DDM逻辑表支持全局表、拆分表、单表三种类型。用户可以按照数据表的实际使用需求，选择最合适的逻辑表类型创建，实际操作请参考[创建表](https://support.huaweicloud.com/usermanual-ddm/ddm_08_0029.html)。
  - 单表只在第一个分片创建表以及存储数据。
  
  - 全局表在每一个分片创建表并且存储全量数据。
  
  - 拆分表在每一个分片创建表，数据按照拆分规则分散存储在分片中。
   
- 逻辑表的分片规则 逻辑表的拆分键选择非常重要。建议按实际业务场景选择拆分键，不同逻辑表，如果具有E-R关系，建议选择相同字段做拆分键，避免跨库JOIN操作。
  
在实际使用中，请结合以下建议评估是否进行分片：
- 数据量在1000万条以下的表，不建议分片。
- 数据量在1000万条以上的表，建议分片。将数据分片存储后，既能解决单张表容量过大带来的性能瓶颈，同时提高并发支持。注意要选择合适的拆分键，提前做好规划。
- 业务读取尽量少用多表JOIN，同一个事务避免跨分片。
- 查询条件尽量带上拆分键，避免全拆分表扫描。
 
