码迷,mamicode.com
首页 > 数据库 > 详细

数据库水平分库,垂直分库的新理解

时间:2016-12-06 14:28:54      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:垂直   service   访问   部分   用户   电话   本质   不同的   执行   

水平分库:当数据量巨大时,将数据放到不同的表中,比如表1,表2,表3,...;

垂直分库:当一张表的字段太多,可拆分出一张或多张分表,根据主键唯一标示;

 

 

新理解:

垂直分库:当一张表中字段不多,当某些字段长度过长,表占用空间很大,检索表的时候需要执行大量的IO(数据库检索的本质是对硬盘中的文件进行io访问),

此时可以考虑对长度较长的字段进行拆分,单独成表,用原表主键进行唯一标示。

相反:

当数据库记录数不多,但字段较多,可对部分字段进行整合,比如用户的信息(电话,手机号...),以json字符串的形式保存到数据库,这样一目了然,代价就是service层中要对json进行但多解析。

如何取舍,看项目需求。

数据库水平分库,垂直分库的新理解

标签:垂直   service   访问   部分   用户   电话   本质   不同的   执行   

原文地址:http://www.cnblogs.com/zqsky/p/6137182.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!