视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
数据库怎么拆分表
2020-11-09 08:37:49 责编:小采
文档
 数据库拆分表可分为水平拆分和垂直拆分,水平拆分是按照表中逻辑关系和相关条件把表拆分成多个分表;垂直拆分是按照不同表切分到不同数据库中去。

随着数据的不断扩大,有的数据表的规模会以几何级增长,当数据达到一定规模时,数据的查询,读取性能就会变得缓慢,这时就需要拆分数据表,接下来在文章中将为大家详细介绍在数据库中怎么拆分表,希望对大家有所帮助。

【推荐课程:MySQL教程】

为什么需要拆分表

当一个表的数据量很大时就比较耗时,这就需要对表进行拆分,把大表拆分成多个子表,那么在更新或者查询数据的时候,压力会分散到不同的表上。由于分表之后每个表的数据较小,不管是查询还是更新都极大的提高了速度,即使出现最坏的“锁表”的情况,那其他表还是可以并行使用。

数据表的拆分

数据表拆分可以分为两种形式,分别是水平切分和垂直切分

水平切分:根据表中数据的逻辑关系,将同一个表中的数据按照某种条件拆分到多台数据库(主机)上面,这种切分称之为数据的水平(横向)切分。

垂直切分:按照不同的表来切分到不同的数据库(主机)之上,这种切可以称之为数据的垂直(纵向)切分

水平拆分的方法

一般情况下使用“取模”的形式来将数据进行表存储,如果用4张表就是id%4 结果会是0,1,2,3四种,user_0,user_1,user_2,user_3就够了。需要注意的是在这个过程中需要新建一张临时表,目的在于提供数据插入的自增id,得到自增id后再通过取模进行分表插入

垂直拆分的方法

把常用的字段放一个表,不常用的放一个表

把字段比较大的比如text的字段拆出来放一个表里面

使用的话是根据具体业务来拆,查询时使用多表联查,可以再配合redis存储

总结:

下载本文
显示全文
专题