数据库分表有垂直切分和水平切分两种,下面简单介绍二者的区别。

    • 垂直切分:将表按照功能模块、关系密切程度划分并部署到不同的库中。例如,我们会创建定义数据库workDB、商品数据库payDB、用户数据库userDB、日志数据库logDB 等,分别用于存储项目数据定义表、商品定义表、用户数据表、日志数据表等,如下图所示。

    image-20220803092440606

    水平切分:在一个表中的数据量过大时,我们可以把该表的数据按照某种规则如userID 散列进行划分,然后将其存储到多个结构相同的表和不同的库上,如下图所示。

    image-20220803092546705