- 浏览: 3499 次
- 性别:
- 来自: 北京
-
最新评论
-
45088648:
数据库表多大应该拆分?
数据库水平拆分和垂直拆分区别
文章列表
J2EE分层服务器如何部署
- 博客分类:
- 架构
对于开发分层的好处在于,
(1)降低耦合,通过接口规范的方式访问,提高效率和共享效率,以及对于调用层不需要知道底层实现就可以很好的进行切割。
分层:分为代码级别的分层和服务器级别的分层。
代码级别的分 ...
有时对表做分割可以提高性能。表分割有两种方式:
1水平分割:根据一列或多列数据的值把数据行放到两个独立的表中。
水平分割通常在下面的情况下使用。
表很大,分割后可以降低在查询时需要读的数据和索引的页数,同时也降低了索引的层数,提高查询速度。
表中的数据本来就有独立性,例如表中分别记录各个地区的数据或不同时期的数据,特别是有些数据常用,而另外一些数据不常用。
需要把数据存放到多个介质上。
水平分割会给应用增加复杂度,它通常在查询时需要多个表名,查询所有数据需要union操作。在许多数据库应用中,这种复杂性会超过它带来的优点,因为只要索引关键字不大,则在索 ...
[size=x-small]数据库水平拆分和垂直拆分区别
案例:
简单购物系统暂设涉及如下表:
1.产品表(数据量10w,稳定)
2.订单表(数据量200w,且有增长趋势)
3.用户表 (数据量100w,且有增长趋势)
以mysql为例讲述下水平拆分和垂直拆分,mysql能容忍的数量级在百万静态数据可以到千万
垂直拆分:
解决问题:
表与表之间的io竞争
不解决问题:
单表中数据量增长出现的压力
方案:
把产品表和用户表放到一个server上
订单表单独放到一个server上
水平拆分:
解决问题:
单表中数据量增长出现的压力
不解决问题:
表与表之间的io争夺 ...