数据库优化(五)——分表技术

本文介绍了数据库优化中的分表技术,包括水平分割、垂直分割和库表散列。水平分割通过按记录切分数据,适用于大表场景,如按日期、地区等条件划分。垂直分割则是按列进行分割,常用于优化查询效率和充分利用缓存。库表散列通过Hash算法分散数据,实现IO均衡。这些策略各有优缺点,需根据业务需求选择适用的方法。
摘要由CSDN通过智能技术生成

1.1水平分割

形象一点的理解,你拿一把“手术刀”,把一个大表猛的切了几刀,结果这个大表,变成了几个小表。

 水平分割根据某些条件将数据放到两个或多个独立的表中。即按记录进分分割,不同的记录可以分开保存,每个子表的列数相同。水平切割将表分为多个表。每个表包含的列数相同,但是数据行更少。例如,可以将一个包含十亿行的表水平分区成 12 个表,每个小表表示特定年份内一个月的数据。任何需要特定月份数据的查询只需引用相应月份的表。

  通常用来水平分割表的条件有:日期时间维度、地区维度等,当然还有更多的业务维度。

  下面我举几个例子来解说一下 

  • 案例1:某个公司销售记录数据量太大了,我们可以对它按月进行水平分割,每个月的销售记录单独成一张表。 
  • 案例2:某个集团在各个地区都有分公司,该集团的订单数据表太大了,我们可以按分公司所在的地区进行水平切割。 
  • 案例3:某电信公司的话单按日期、地市水平切割后,发现数据量太大,然后他们又按品牌、号码段进行水平切割 

  水平分割通常在下面的情况下使用:
  (1)表数据量很大,分割后可以降低在查询时需要读的数据和索引的页数,同时也降低了索引的层数,加快了查询速度。 
  (2)表中的数据本来就有独立性,例如表中分别记录各个地区的数据或不同时期的数据,特别是有些数据常用,而另外一些数据不常用。 
  (3)需要把数据存放到多个介质上。 
  ࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值