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 被拆分的表