专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

数据库的垂直切分和水平切分

垂直切分,比方说一个表,有100个字段,可能分成2张表,各50个字段(随便一说,具体怎么分是要根据实际情况来的。)这两张表一对一的关系。比如说User, UserProfile, UserProfileDetail.

水平切分,比方说这张表已经有1,000,000条记录了,严重影响查询速度,必须按照一定规则切分成几张表,比如说根据时间,最新的记录10,000条记录在一张表里,其他表各100,000。

垂直就是把一个表中的字段分到多个表中。

水平就是给一个表规定最适合的记录数,把超过记录数的记录放到新的表中去。

数据切分可以是物理上的**,对数据通过一系列的切分规则将数据分布到不同的DB服务器上,通过路由规则路由访问特定的数据库,这样一来每次访问面对的就不是单台服务器了,而是N台服务器,这样就可以降低单台机器的负载压力。**

数据切分也可以是数据库内的**,对数据通过一系列的切分规则,将数据分布到一个数据库的不同表中,比如将article分为article_001,article_002等子表,若干个子表水平拼合有组成了逻辑上一个完整的article表,这样做的目的其实也是很简单的。 举个例子说明,比如article表中现在有5000w条数据,此时我们需要在这个表中增加(insert)一条新的数据,insert完毕后,数据库会针对这张表重新建立索引,5000w行数据建立索引的系统开销还是不容忽视的。但是反过来,假如我们将这个表分成100 个table呢,从article_001一直到article_100,5000w行数据平均下来,每个子表里边就只有50万行数据,这时候我们向一张只有50w行数据的table中insert数据后建立索引的时间就会呈数量级的下降,极大了提高了DB的运行时效率,提高了DB的并发量。当然分表的好处还不知这些,还有诸如写操作的锁操作等,都会带来很多显然的好处。**

综上,分库降低了单点机器的负载;分表,提高了数据操作的效率,尤其是Write操作的效率。

文章永久链接:https://tech.souyunku.com/30044

未经允许不得转载:搜云库技术团队 » 数据库的垂直切分和水平切分

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们