最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

merge存储引擎应用_MySQL

来源:动视网 责编:小采 时间:2020-11-09 17:52:27
文档

merge存储引擎应用_MySQL

merge存储引擎应用_MySQL:merge存储引擎,也叫做MRG_MyISAM,可以将同构的表合在一起使用。文档上说的“同构”指的是表定义相同,表的索引相同,但根据测试,索引结构不一样也没有问题。甚至在某些情况下,必须不同才能取得正确的数据。我们创建两个表m1,m2,并各插入
推荐度:
导读merge存储引擎应用_MySQL:merge存储引擎,也叫做MRG_MyISAM,可以将同构的表合在一起使用。文档上说的“同构”指的是表定义相同,表的索引相同,但根据测试,索引结构不一样也没有问题。甚至在某些情况下,必须不同才能取得正确的数据。我们创建两个表m1,m2,并各插入


merge存储引擎,也叫做MRG_MyISAM,可以将同构的表合在一起使用。文档上说的“同构”指的是表定义相同,表的索引相同,但根据测试,索引结构不一样也没有问题。甚至在某些情况下,必须不同才能取得正确的数据。

我们创建两个表m1,m2,并各插入几条数据。

 1 mysql> show create table m1/G
2 *************************** 1. row ***************************
3 Table: m1
4 Create Table: CREATE TABLE `m1` (
5 `a` int(11) NOT NULL,
6 `b` int(11) DEFAULT NULL,
7 PRIMARY KEY (`a`)
8 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
9 1 row in set (0.00 sec)
10
11 mysql> show create table m2/G
12 *************************** 1. row ***************************
13 Table: m2
14 Create Table: CREATE TABLE `m2` (
15 `a` int(11) NOT NULL,
16 `b` int(11) DEFAULT NULL,
17 PRIMARY KEY (`a`)
18 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
19 1 row in set (0.00 sec)
20
21 mysql> select * from m1;
22 +---+------+
23 | a | b |
24 +---+------+
25 | 1 | 1 |
26 | 2 | 2 |
27 | 3 | 3 |
28 +---+------+
29 3 rows in set (0.00 sec)
30
31 mysql> select * from m2;
32 +---+------+
33 | a | b |
34 +---+------+
35 | 1 | 1 |
36 | 2 | 2 |
37 | 3 | 3 |
38 +---+------+
39 3 rows in set (0.00 sec)

接下来,我们创建一个merge表m,注意,我们没有为m指定任何的key,但是该merge表是可以使用的:

 1 mysql> show create table m/G
2 *************************** 1. row ***************************
3 Table: m
4 Create Table: CREATE TABLE `m` (
5 `a` int(11) NOT NULL,
6 `b` int(11) DEFAULT NULL
7 ) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 UNION=(`m1`,`m2`)
8 1 row in set (0.00 sec)
9
10 mysql> select * from m;
11 +---+------+
12 | a | b |
13 +---+------+
14 | 1 | 1 |
15 | 2 | 2 |
16 | 3 | 3 |
17 | 1 | 1 |
18 | 2 | 2 |
19 | 3 | 3 |
20 +---+------+
21 6 rows in set (0.00 sec)

对m加上primary key(a)之后,毫无疑问,这也是可以使用的,但是因为key是primay key,所以只能检索出一条记录:

 1 mysql> show create table m/G
2 *************************** 1. row ***************************
3 Table: m
4 Create Table: CREATE TABLE `m` (
5 `a` int(11) NOT NULL,
6 `b` int(11) DEFAULT NULL,
7 PRIMARY KEY (`a`)
8 ) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 UNION=(`m1`,`m2`)
9 1 row in set (0.00 sec)
10
11 mysql> select * from m where a=1;
12 +---+------+
13 | a | b |
14 +---+------+
15 | 1 | 1 |
16 +---+------+
17 1 row in set (0.00 sec)

将primary key改成普通的key之后:

 1 mysql> alter table m add index (a), drop primary key;
2 Query OK, 0 rows affected (0.00 sec)
3 Records: 0 Duplicates: 0 Warnings: 0
4
5 mysql> select * from m where a=1;
6 +---+------+
7 | a | b |
8 +---+------+
9 | 1 | 1 |
10 | 1 | 1 |
11 +---+------+
12 2 rows in set (0.00 sec)

merge表在很多情况下都可以给我们带来便利,特别是在分表的环境中尤其合适。

欢迎上网易彩票买彩票啊~

文档

merge存储引擎应用_MySQL

merge存储引擎应用_MySQL:merge存储引擎,也叫做MRG_MyISAM,可以将同构的表合在一起使用。文档上说的“同构”指的是表定义相同,表的索引相同,但根据测试,索引结构不一样也没有问题。甚至在某些情况下,必须不同才能取得正确的数据。我们创建两个表m1,m2,并各插入
推荐度:
标签: 应用 存储 mysql
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top