分区表是mysql5.1之后的新特性,合并表已经存在很长时间了。这篇文章主要介绍这两个概念以及他们基本的操作。
一、合并表
合并表说实话是一种将要被淘汰的技术,但是掌握了合并表的概念再去看分区表就比较容易理解一点。
合并表其实就是合并了多个子表的逻辑表,子表使用了myisam存储引擎物理子表,合并表使用merge存储引擎,逻辑表和子表的结构完全相同(包括字段、索引等)。
删除一个合并表,它的子表不会受任何影响,而如果删除其中一个子表则可能会有不同的后果,这要视操作系统而定。
下面我们进行实操一下:创建量两张物理子表t1和t2,然后创建他们俩的合并表。1#创建表t1和t2,存储引擎是myisam
2mysql> create table t1( data int not null primary key )engine=myisam;
3Query OK, 0 rows affected (0.00 sec)
4mysql> create table t2( data int not null primary key )engine=myisam;
5#创建合并表,存储引擎是merge
6mysql> create table t3( data int not null primary key )
7 engine=merge union=(t1,t2) insert_method=last;
8Query OK, 0 rows affected (0.00 sec)
9#下面插入数据:t1插入123,t2插入234
10Query OK, 0 rows affected (0.01 sec)
11mysql> insert into t1 values(1),(2),(3);
12Query OK, 3 rows affected (0.01 sec)
13Records: 3 Duplicates: 0 Warnings: 0
14mysql> insert into t2 values(2),(3),(4);
15Query OK, 3 rows affected (0.00 sec)
16Records: 3 Duplicates: 0 Warnings: 0
在上面我们进行了一些初始化操作。而且我们在创建合并表的时候,指定了insert