您的位置:首页 > 数据库 > MySQL

mysql菜鸟手迹11--mysql存储引擎之Merge

2011-04-21 20:10 399 查看
merge engine存储引擎:

一个Merge表是一组MySIAM表的集合,每个Merage表在磁盘上是一个.frm 的结构文件和一个.mrg的文件,这个文件是一个文本文件里面存放的是组成这个merge表的底层的MyISAM表,默认情况下是存放在数据库目录下的。

当对merge表进行增删改的时候,实质上是对一组MyISAM表一起的操作;

一个merge表,是一个逻辑组合,所以可以个突破单个MyISAM表的大小;

当对Merger表进行更改操作的时候,它使用的是表级锁,不会产锁死锁。

.mrg文件是一个文本文件,可以查看里面的内容;

merge表也支持增删改查这些操作;

merge表锁的特征:

当我们对一个merge表进行加锁的时候,它会对底层的MyISAM表,进行一起加锁;当对merge表进行select操作的时候,它对底层表,加的是read_lock锁;当对merge表进行insert,delete 操作是,底层加的是write_lock锁;也可以使用LOCK_TABLE 对merge表进行显示的加锁,这样操作会把底层的MyISAM表都锁起来。

create table t1(id int ,msg char(10));

create table t2(id int ,msg char(10)); 创建两个表

create table t(id int,msg char(10)) engine=merge union(t1,t2); 创建merge表,此表为只读表

create table t3(id int ,msg char(10));

alter table t union=(t1,t2,t3);将t3加入merge表

create table t(id int,msg char(10)) engine=merge union(t1,t2,t3) insert_method=last;创建merge表,此表可插入,插入的数据存到第最后一个表;
本文出自 “满足现在就是放弃未来!” 博客,请务必保留此出处http://nameyjj.blog.51cto.com/788669/550797
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: