关于mysql的MERGE存储引擎简单例子

关于mysql的MERGE存储引擎简单例子

作用:可以将多个表结构相同的表 和合并到一个表中

版本支持:mysql5.1

如下例子:

假设有如下几个表:结构完全相同 article_0,article_1,article_2,article_3,

 

-- Table "article_0" DDL

CREATE TABLE `article_0` (
  `id` bigint(20) NOT NULL,
  `subject` varchar(200) NOT NULL,
  `content` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- Table "article_1" DDL

CREATE TABLE `article_1` (
  `id` bigint(20) NOT NULL,
  `subject` varchar(200) NOT NULL,
  `content` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- Table "article_2" DDL

CREATE TABLE `article_2` (
  `id` bigint(20) NOT NULL,
  `subject` varchar(200) NOT NULL,
  `content` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- Table "article_3" DDL

CREATE TABLE `article_3` (
  `id` bigint(20) NOT NULL,
  `subject` varchar(200) NOT NULL,
  `content` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 

建立总表:article_total 结构如下:

-- Table "article_total" DDL

CREATE TABLE `article_total` (
  `id` bigint(20) NOT NULL,
  `subject` varchar(200) NOT NULL,
  `content` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8 UNION=(`article_0`,`article_1`,`article_2`,`article_3`);

那么 article_total 表的内容就包含了article_0`,`article_1`,`article_2`,`article_3`的内容

select * from article_total 表的结果就是各个表述数据合并的内容

 

修改合并哪些子表的命令:

ALTER TABLE article_total  union =(article_0,article_1,article_2,article_3)

时间: 2024-11-08 22:25:28

关于mysql的MERGE存储引擎简单例子的相关文章

【Mysql 学习】MERGE存储引擎(一)

MERGE存储引擎(一) MERGE表的问题    MERGE存储引擎,也被认识为MRG_MyISAM引擎,是一个相同的可以被当作一个来用的MyISAM表的集合."相同"意味着所有表同样的列和索引信息.你不能合并列被以不同顺序列于其中的表,没有恰好同样列的表,或有不同顺序索引的表.而且,任何或者所有的表可以用myisampack来压缩.表选项的差异,比如AVG_ROW_LENGTH, MAX_ROWS或PACK_KEYS都不重要.    当你创建一个MERGE表之时,MySQL在磁盘上

MySQL的主流存储引擎介绍

我们知道MySQL最大的特色是其可插拔的插件式存储引擎,本文将介绍目前市面上主流的存储引擎.这里要特别提一 点:由于MySQL是开源的,所以如果你对某些存储引擎不满意,可以修改或写一个存储引擎,增加自己想要的特性(据我 所知,国内比较知名的有网易的TNT引擎),这也是MySQL作为开源数据库的魅力之一. 有些人刚接触MySQL的时候可能会有些惊讶,竟然有不支持事务的存储引擎,因为学过关系型数据库理论的人都知道 ,事务是关系型数据库的核心.但是在现实应用中(特别是互联网),为了提高性能,在某些场景

MySQL查看修改存储引擎总结

本文总结了MySQL下查看.修改存储引擎的一些方法.测试.验证环境为MySQL 5.6 ,如有差异,请以实际版本为准   1:查看MySQL的存储引擎信息   1.1 使用show engines命令. Support列, YES表示当前版本支持这个存储引擎, DEFAULT表示该引擎是默认的引擎.NO表示不支持该存储引擎.如下所示,InnoDB是默认的存储引擎.   1.2 可以查看系统变量default_storage_engine或storage_engine        1:defau

MySQL修改表存储引擎方法总结

MySQL作为最常用的数据库,经常遇到各种各样的问题.今天要说的就是表存储引擎的修改.有三种方式,列表如下. 1.真接修改.在数据多的时候比较慢,而且在修改时会影响读取性能.my_table是操作的表,innoDB是新的存储引擎.  代码如下 复制代码 ALTER TABLE my_table ENGINE=InnoDB 2.导出,导入.这个比较容易操作,直接把导出来的sql文件给改了,然后再导回去.用mysqldump ,枫哥常用的是navicate那样更容易上手.友情提醒风险较大. 3.创建

MySQL数据库MyISAM存储引擎转为Innodb的方法_Mysql

mysql数据库存储引擎为MyISAM的时候,在大访问量的情况下数据表有可能会出现被锁的情况,这就会导致用户连接网站时超时而返回502,此时就需要MySQL数据库MyISAM存储引擎转为Innodb.步骤如下: 1.导出CentOS数据库的表结构 复制代码 代码如下: mysqldump -d -uxxx -p centos > centos_table.sql 其中-d参数表示不导出数据,只导出表结构 2.替换centos_table.sql里的MyISAM为INNODB 复制代码 代码如下:

mysql基础之存储引擎

原文:mysql基础之存储引擎 数据库对同样的数据,有着不同的存储方式和管理方式,在mysql中,称为存储引擎 常用的表的引擎 Myisam ,批量插入速度快, 不支持事务,锁表 Innodb, 批量插入相对较慢,支持事务,锁行. 常见引擎: 一个数据库目录解析:

MySQL修改表存储引擎安全做法

1.真接修改.在数据多的时候比较慢,而且在修改时会影响读取性能.my_table是操作的表,innoDB是新的存储引擎.  代码如下 复制代码 ALTER TABLE my_table ENGINE=InnoDB2. 导出,导入.这个比较容易操作,直接把导出来的sql文件给改了,然后再导回去.用mysqldump ,枫哥常用的是navicate那样更容易上手.友情提醒风险较大. 3.创建,插入.这个比第一种速度快, 安全性比第二种高,推荐.分2步操作 a.创建表,先创建一个和要操作表一样的表,然

《MySQL技术内幕:InnoDB存储引擎第2版》——第1章 MySQL体系结构和存储引擎

第1章 MySQL体系结构和存储引擎 MySQL被设计为一个可移植的数据库,几乎在当前所有系统上都能运行,如Linux,Solaris.FreeBSD.Mac和Windows.尽管各平台在底层(如线程)实现方面都各有不同,但是MySQL基本上能保证在各平台上的物理体系结构的一致性.因此,用户应该能很好地理解MySQL数据库在所有这些平台上是如何运作的.

【MySQL】FEDERATED存储引擎

FEDERATED存储引擎的描述 mysql 提供了一个类似Oracle中的数据库链接(DBLINK)功能的存储引擎--FEDERATED.当我们创建一个以FEDERATED为存储引擎的表时,服务器在数据库目录只创建一个表定义文件.文件由表的名字开始,并有一个frm扩展名.无其它文件被创建,因为实际的数据在一个远程数据库上.这不同于为本地表工作的存储引擎的方式. 如何使用FEDERATED存储引擎 CREATE TABLE federated_table (     id     int(20)