zoukankan      html  css  js  c++  java
  • Mysql分表:Merge

    merge是Mysql最简单的一种分表,Mysql自带的一个分表功能,Merge表并不保存数据,Merge表和分表是对应映射关系。
    demo:

    创建分表:
    CREATE TABLE `user1` (
    `id` INT NOT NULL,
    `user_name` VARCHAR(45) NOT NULL,
    `password` VARCHAR(45) NOT NULL,
    `create_time` TIMESTAMP NULL,
    `update_time` TIMESTAMP NULL,
    PRIMARY KEY (`id`),
    KEY `user_name` (`user_name`),
    KEY `create_time` (`create_time`)
    )ENGINE = MyISAM;
    CREATE TABLE `user2` like user1;
    CREATE TABLE `user3` like user1;

    创建主表:
    CREATE TABLE `users` (
    `id` INT NOT NULL,
    `user_name` VARCHAR(45) NOT NULL,
    `password` VARCHAR(45) NOT NULL,
    `create_time` TIMESTAMP NULL,
    `update_time` TIMESTAMP NULL,
    PRIMARY KEY (`id`),
    KEY `user_name` (`user_name`),
    KEY `create_time` (`create_time`)
    )ENGINE = MERGE UNION = (`user1`,`user2`,`user3`);


    如何使用:
    插入(INSERT)数据时,需要根据给定的路由策略将新数据分别插入不同的子表,此处采用对id进行模3计算(可能结果为0、1、2)来决定插入哪个子表。
    删除(DELETE)、查询(SELECT)、修改(UPDATE)、清空(TRUNCATE)等操作都可以通过总表users完成。

  • 相关阅读:
    spring + junit 测试
    备份mysql数据库
    JAVA访问Zabbix API
    pro git 读书笔记 3 Git 分支
    pro git 读书笔记 1
    pro git 读书笔记 2
    溢出和剪裁,可见性
    html 与 jsp 文件格式区别
    Eclipse 的 CheckStyle 插件
    【转】单元测试覆盖率
  • 原文地址:https://www.cnblogs.com/TheGreatDead/p/10751345.html
Copyright © 2011-2022 走看看