zoukankan      html  css  js  c++  java
  • Mysql运用MERGE引擎进行分表

    首先需要注意的:

    1、基础表必须是MYISAM引擎的表,因为MERGE引擎只适用于MYISAM表

    2、union的基础表必须是存在的表。

    3、MERGE的时候只能引用同一个库种存在的基础表。

    4、各个基础表的结构(索引、引擎、列、字符集等)需要一致。

    5、类似的基础表和merge表 CHARSET=utf8 等约定需要一致。

    例子:

    基础表test1:

    CREATE TABLE `test1` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `user_id` varchar(255) DEFAULT NULL,
      `commodity_code` varchar(255) DEFAULT NULL,
      `count` int(11) DEFAULT '0',
      `money` int(11) DEFAULT '0',
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
    

    基础表test2: 

    CREATE TABLE `test2` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `user_id` varchar(255) DEFAULT NULL,
      `commodity_code` varchar(255) DEFAULT NULL,
      `count` int(11) DEFAULT '0',
      `money` int(11) DEFAULT '0',
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
    

    merge表:

    CREATE TABLE `test` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `user_id` varchar(255) DEFAULT NULL,
      `commodity_code` varchar(255) DEFAULT NULL,
      `count` int(11) DEFAULT '0',
      `money` int(11) DEFAULT '0',
      PRIMARY KEY (`id`)
    ) ENGINE=MERGE UNION=(test1, test2) INSERT_METHOD=LAST CHARSET=utf8;
    

    这样就可以实现合并表。

  • 相关阅读:
    Unity3D笔记 英保通三 脚本编写 、物体间通信
    Unity3D笔记 英保通二
    Unity3D 面试ABC
    Unity3D 记第一次面试
    Unity3D笔记 英保通一
    (转)关于如何学好游戏3D引擎编程的一些经验
    Java_异常
    Java_多态
    Java_继承(下)
    Java_继承(上)
  • 原文地址:https://www.cnblogs.com/qqq9527/p/14355872.html
Copyright © 2011-2022 走看看