第一种:sql语句,SQL语句中包含函数(join,group by,count…),非索引字段条件查询等等,增加CPU运算操作。
第二种: 单表数据量太大,查询是扫描的数据太多,SQL执行效率低下,CPU瓶颈就出现了。
1、水平分库
-
以“字段”为依据,按照一定策略(hash、rang、time),将一个库中的数据拆分到多个库中。
-
每个数据库的结构都一样。
-
所有数据库中的数据并集就是全量数据。
场景: 提高数据查询性能,把一个库承担负载分担给了多个库。
2、垂直分库
-
以表为拆分依据,按照业务规则不同,将不同表拆分到不同库中。
-
每一个库的结构是完全不一样。
-
每个库中的数据也不一样,没有交集。
-
所有库的数据的并集就是全量数据。
</