美文网首页
水平拆分 垂直拆分

水平拆分 垂直拆分

作者: Jetlag时 | 来源:发表于2018-09-29 13:31 被阅读44次

    1.水平拆分
    根据数据库表行进行拆分 一般来说一张表数据量达到200W,操作速度就会变慢,我们现在分成四个表插入时用一直临时表生成ID,用取模的方式确定插入那张表
    _GET['id'] = 17, 17%4 + 1 = 2,tableName = 'users'.'2'
    Select * from users2 where id = 17;

    在insert时还需要一张临时表uid_temp来提供自增的ID,该表的唯一用处就是提供自增的ID;

    insert into uid_temp values(null);
    得到自增的ID后,又通过取模法进行分表插入;
    注意,进行水平拆分后的表,字段的列和类型和原表应该是相同的,但是要记得去掉auto_increment自增长

    2.垂直拆分
    垂直拆分是指数据表列的拆分,把一张列比较多的表拆分为多张表

    把不常用的字段单独放在一张表;
    把text,blob等大字段拆分出来放在附表中;
    经常组合查询的列放在一张表中;垂直拆分更多时候就应该在数据表设计之初就执行的步骤,然后查询的时候用join关键起来即可;

    相关文章

      网友评论

          本文标题:水平拆分 垂直拆分

          本文链接:https://www.haomeiwen.com/subject/xswvoftx.html