分库分表是什么,什么状况下须要用分库分表

一、什么是分库分表?

顾名思义,即把存于一个库的数据分散到多个库中,把存于一个表的数据分散到多个表中。数据库

二、什么状况下须要分库分表?

当一个数据库被建立以后,随着时间的推移和业务量的增长,数据库中表以及表中的数据量就会愈来愈多,就有可能出现两种弊端:(1)数据库的存储资源是有限的,其负载能力也是有限的,数据的大量积累确定会致使其处理数据的能力降低;(2)数据量越多,那么对数据的增删改查操做的开销也会愈来愈大,因此,当出现如上两种状况,分库分表势在必行。资源

三、分库分表的方式

(1)垂直切分请求

适用场景:若是是由于表的个数多而让数据多,能够按照功能划分,把联系密切的表切分出来放在同一个库中(分库);数据

若是表的字段太多,能够以列为出发点,将字段进行拆分(分表);查询

(2)水平切分集合

适用场景:若是是由于表中的数据量过于庞大,则能够采用水平切分,按照某种约定好的规则将数据切分到不一样的数据库中;时间

必需要根据当前数据库的状况作出合适的选择,也能够将两种状况结合在一块儿。

四、如何联合查找?

分库分表的结果会使数据分散,很差查询,主要有两种查询方式:

(1)、分步查:先查找主表,而后获得关联表的id,再发起请求获得关联数据;

(2)、联合查:同时发起多个查询请求,而后将全部的结果集合起来。  

相关文章
相关标签/搜索