mysql 拆分表

1.水平拆分

按照表中逻辑关系和相关条件把表拆分成多个分表。将同一个表中的数据按照某种条件拆分到多台数据库(主机)上面。

https://blog.csdn.net/weixin_42197110/article/details/112890279中提到,通过取模方式来:

一般情况下使用“取模”的形式来将数据进行表存储,如果用4张表就是id%4 结果会是0,1,2,3四种,user_0,user_1,user_2,user_3就够了。

其中id为自增。

//但是这样的话id在不同的子表当中是不连续的,能否继续使用索引,或者是在每个子表上都会建立索引?

2.竖直拆分

按照不同的表来拆分到不同的数据库之上。

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

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

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

3.sql语句

https://www.cnblogs.com/dearroy/p/14130071.html

create table 新表的名称 select * from 被拆分的表 order by id  limit int1,int2

int1为其实位置,int2为几条
create table 新表的名称 select 需保留的字段 from 被拆分的表
原文地址:https://www.cnblogs.com/BlueBlueSea/p/15336278.html