• 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已经很好解决了)
    
  • 相关阅读:
    node.js开发 打包管理工具webpack
    node.js开发 npm包管理工具 npm 和 cnpm区别
    node.js开发 npm包管理工具
    node.js开发 1-概述
    脚手架-1概念
    前端开发 vue,angular,react框架对比2
    AttachDispatch
    画图软件orign的使用
    建立xml文件时遇到的编码问题和解决方法
    securecrt简介
  • 原文地址:https://www.cnblogs.com/jkko123/p/6294656.html
Copyright © 2020-2023  润新知