当前位置:Gxlcms > mysql > 数据库怎么拆分表

数据库怎么拆分表

时间:2021-07-01 10:21:17 帮助过:69人阅读

数据库拆分表可分为水平拆分和垂直拆分,水平拆分是按照表中逻辑关系和相关条件把表拆分成多个分表;垂直拆分是按照不同表切分到不同数据库中去。

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

【推荐课程:MySQL教程

为什么需要拆分表

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

数据表的拆分

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

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

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

水平拆分的方法

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

垂直拆分的方法

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

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

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

总结:以上就是本篇文章的全部内容了,希望对大家有所帮助。

以上就是数据库怎么拆分表的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行