数据库怎么拆分表?

清浅
清浅原创
2020-09-08 17:25:3013539浏览

数据库拆分表的方法:1、水平拆分,按照表中逻辑关系和相关条件把表拆分成多个分表;2、垂直拆分,按照不同的表来拆分到不同的数据库之上。

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

1.png

【推荐课程:MySQL教程

为什么需要拆分表

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

数据表的拆分

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

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

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

水平拆分的方法

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

垂直拆分的方法

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

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

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

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

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

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。