的合并
存储引擎,也称为MRG_MYISAM.
发动机,是一个相同的集合MyISAM
可以作为一个表使用。”相同的”意味着所有表都具有相同的列数据类型和索引信息。你不能合并MyISAM
列以不同顺序列出的表,对应列中的数据类型不完全相同,或者索引的顺序不同。然而,任何或所有MyISAM
桌子可以压缩yyisampack..看myisampack -生成压缩的只读MyISAM表.表之间的差异如此无关紧要:
对应列和索引的名称可以不同。
表格,列和索引的注释可能有所不同。
表选项如
AVG_ROW_LENGTH
,max_rows.
,或pack_keys.
可以是不同的。
一个替代方案合并
表是一个分区表,其在单独的文件中存储单个表的分区,并启用一些操作要更有效地执行。有关更多信息,请参阅24章,分区.
当您创建合并
表,mysql创造了一个.MRG
包含底层名称的磁盘上的文件MyISAM
应使用的表格。表格格式的合并
表存储在MySQL数据字典中。底层表格不一定在同一数据库中合并
表格
您可以使用选择
,删除
,更新
, 和插
上合并
表。你必须有选择
,删除
, 和更新
特权的MyISAM
你映射到a的表合并
表格
的使用合并
表需要以下安全问题:如果用户可以访问MyISAM
桌子t
,该用户可以创建合并
桌子米
访问t
.但是,如果用户的特权t
是否随后被撤销,用户可以继续访问t
通过这样做米
.
使用删除表
与一个合并
表只删除合并
规范。基础表不受影响。
创建一个合并
表,您必须指定一个Union =(
选项表示哪个列表
)MyISAM
要使用的表。您可以选择指定一个INSERT_METHOD
控件中插入的方式合并
桌子发生。使用价值第一的
或者去年
分别在第一个或最后一个基础表中进行插入。如果你指定noINSERT_METHOD
选项或者如果您使用值指定它不
,插入到合并
表格不允许并尝试这样做导致错误。
以下示例显示了如何创建一个合并
桌子:
MySQL>创建表T1( - > A int Not Null Auto_Increment主键, - >消息字符(20))引擎= Myisam;MySQL>创建表T2( - > A int Not Null Auto_Increment主键, - > Message Char(20))引擎= Myisam;mysql>插入到t1(消息)值('testing'),('table'),('t1');mysql>插入t2(消息)值('test'),('table'),('t2');mysql>创建表总计( - > int not null auto_increment, - > message char(20),索引(a)) - >引擎= mergeun =(t1,t2)插入_method = last;
柱子一个
被索引为首要的关键
在底层MyISAM
表格,但不在合并
表格在那里它是索引但不是作为一个首要的关键
因为A.合并
表不能对基础表集强制唯一性。(类似地,带有独特的
底层表中的索引应索引合并
但不作为表独特的
指数。)
创造之后合并
表,您可以使用它来发出作为整体上的表组上运行的查询:
mysql>从总共选择*;+ --- + --------- + |a |消息|+ --- + --------- + |1 |测试||2 |表| | 3 | t1 | | 1 | Testing | | 2 | table | | 3 | t2 | +---+---------+
重拍A.合并
表到不同的集合MyISAM
表,您可以使用以下方法之一:
基础表定义和索引必须与合并
表格控件的一部分时,将检查一致性合并
桌子是开着的,不是当着的合并
创建表。如果有表未通过一致性检查,则触发打开表的操作失败。这意味着更改合并
可能会导致失败的时候合并
表访问。适用于每个表的符合性检查是:
基础表和
合并
表必须具有相同数量的列。的列顺序
合并
表必须匹配。此外,父类中每个对应列的规范
合并
表和基础表进行比较,必须满足以下检查:底层表中的列类型
合并
表必须相等。基础表中的列长度和
合并
表必须相等。对象的列
合并
表可以空值
.
基础表必须至少有与
合并
表格底层表可能比合并
表,但不能有更少。请注意存在一个已知的问题,即相同列上的索引必须按相同的顺序,在两个
合并
表和底层MyISAM
表格看到bug#33653。每个索引必须满足以下检查:
基础表的索引类型和
合并
表必须是相同的。索引部分的索引部分(即复合指数中的多列)的索引定义中的索引定义和
合并
表必须是相同的。对于每个索引部分:
索引部分长度必须相等。
索引部分类型必须相等。
索引部分语言必须相等。
检查索引部分是否可以
空值
.
如果一个合并
由于底层表的问题,无法打开或使用表格,检查表
显示导致该表的信息。
额外的资源
一个论坛致力于
合并
存储引擎可用https://forums.10bet靠谱mysql.com/list.php?93.