分表、分区简单介绍(摘录)

分表,是业务逻辑上分的。
如userid,name,addr一个表,为了防止表过大,分成2个表。
userid,name
userid,addr
分区: 对业务透明,在物理实现上分成多个表,逻辑上还是一个表。
如orderid,userid,ordertime,.....
ordertime<2015-01-01 #p0
ordertime<2015-04-01 #p1
ordertime<2015-07-01 #p2
ordertime<2015-10-01 #p3
ordertime<2016-01-01 #p4
按照时间分区。大部分只查询最近的订单数据,那么大部分只访问一个分区,比整个表小多了,数据库可以更加好的缓存,性能也提高了。这个是数据库分的,应用程序透明,无需修改。
分片,业务透明,在物理实现上分成多个服务器,不同的分片在不同服务器上。分区可以把表分到不同的硬盘上,但不能分配到不同服务器上。一台机器的性能是有限制的,用分片可以解决单台服务器性能不够,或者成本过高问题。
当分区之后,表还是很大,处理不过来,这时候可以用分片。
orderid,userid,ordertime,.....
userid%4=0,用分片1
userid%4=1,用分片2
userid%4=2, 用分片3
userid%4=3,用分片4
上面这个就是一个简单的分片路由,根据userid选择分片,即不同的服务器。

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!