Mysql的merge表型別

2021-05-12 20:11:27 字數 918 閱讀 9493

將多個表在邏輯上當作乙個表

建立後有兩個檔案,

.frm 表結構定義

.mrg union表的名字清單

兩個基本表:

create table merge_1(

id int(5) not null,

name varchar(100) not null,

primary key(id)

)create table merge_2(

id int(5) not null,

value varchar(100) not null,

primary key(id)

) merge表的建立:

create table test_merge(

id int(5) not null,

value varchar(100) not null,

primary key(id)

) type=merge union=(test_merge_1,test_merge_2) insert_method=last;

1. 此表類似於sql中的union機制。

2. 此表結構必須與基本表完全一致,包括列名、順序。union表必須同屬乙個database。

3. 基本表型別必須是myisam。

4. 可以通過修改.mrg檔案來修改merge表,每個基本表的名字佔一行。注意:修改後要通過flush tables重新整理表快取。

5. 對基本表的更改可以直接反映在此表上。

6. insert_method的取值可以是: 0 不允許插入,first插入到union中的第乙個表 ,last插入到union中的最後乙個表。(4.0之後可用)

7. 定義在它上面的約束沒有任何作用,約束是由基本表控制的,例如兩個基本表中存在著同樣的乙個key值,那麼在merge表中會有兩個一樣的key值。

有關於Mysql的MERGE表型別

他將多個表在邏輯上當作乙個表來查詢。他建立後有兩個檔案,frm 表結構定義 mrg union表的名字清單 兩個基本表 create table test merge 1 id int 5 not null,value varchar 100 not null,primary key id crea...

mysql 表 型別 mysql 表的型別

mysql 資料表主要支援六種型別 分別是 bdb heap isam merge myisam innobdb。這六種又分為兩類,一類是 事務安全型 transaction safe 包括bdb和innodb 其餘都屬於第二類,稱為 非事務安全型 non transaction safe bdb全...

mysql 表 型別 mysql表型別

mysql支援6種不同的表型別 bdb innodb heap isam merge以及myisam。其中 bdb,innodb單獨屬於一類,稱為 事務安全型 transaction safe 其餘的表型別屬於第二類,稱為 非事務安全型 non transaction safe 事務安全型 bdbb...