zoukankan      html  css  js  c++  java
  • mysql分表

    1、水平分表
    创建结构相同的N个表
    create table student_0 (
        id int not null auto_increment,
        name varchar(12),
        primary key (id)
    );
    
    create table student_1 (
        id int not null auto_increment,
        name varchar(12),
        primary key (id)
    );
    
    create table student_2 (
        id int not null auto_increment,
        name varchar(12),
        primary key (id)
    );
    
    create table student_id (
        id int not null auto_increment,
        primary key (id)
    );
    
    //伪代码
    $tableList = array(
        'student_0', 'student_1', 'student_2'
    );
    
    $tableNums = count($tableList);
    $sqlId = "insert into student_id values(null)";
    $stuId = last_insert_id();
    $tableName = $tableList[$stuId % $tableNums];
    $sql = "insert into {$tableName} values({$stuId}, '测试')";
    
    2、merge,mrg_myisam存储引擎
    mysql提供一个可以将多个结构相同的myisam表,合并到一起的存储引擎。
    
    3、垂直分表
    表中存在多个字段,将常用字段和非常用字段分别存到两张或以上的表中,
    主要目的,减少每条记录的长度。
    比如学生表:
    基础信息表student_base
    额外信息表student_extra
    基础表与额外表之间通过ID来对应。
    
    (*水平分表现在用mysql自带的partition已经很好解决了)
    
  • 相关阅读:
    3.不同类型变量存取
    2.Scanner的应用
    helloworld
    针对搜狗网址导航评论
    第二阶段第三次站立会议
    第二阶段第二次站立会议
    软件工程概论学习进度条05
    人月神话阅读笔记02
    第二阶段第一次站立会议
    第八次站立会议
  • 原文地址:https://www.cnblogs.com/jkko123/p/6294656.html
Copyright © 2011-2022 走看看