数据库读写分离和分库分表

读写分离:主写从读

主库负责写,从库负责读。

分库分表

  • 分库分表有两种方案,分别是垂直切分和水平切分。

  • 垂直切分常见的有垂直分库和垂直分表。

    • 垂直分库指的是根据业务耦合性,将关联度低的不同的表存储在不同的数据库中。做法与大系统拆分为多个小系统类似,按业务分类进行独立的划分。
    • 垂直分表基于数据库中的 列 来进行,如果某个表中字段较多,可以新建一张扩展表,将不经常用或字段长度较长的字段拆分到扩展表中。在字段很多的情况下,通过"大表拆小表",更便于开发和维护,也能避免跨页问题,因为MySQL底层是通过数据页存储的,一条记录占用空间过大会导致跨页,造成额外的性能开销。另外数据库是以行为单位将数据加载到内存中的,如果表中字段长度较短的话,内存就能加载更多的数据,命中率更高,减少了磁盘IO,从而提升了数据库的性能。
  • 水平切分是指将同一个表按不同的条件分散到多个数据库或多个表中,每个表只包含一部分数据,从而使单个表的数据量变小。(达到分布式的效果)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值