MySQL 儲存引擎 MERGE 的介紹

2021-05-22 20:28:45 字數 1102 閱讀 8528

最近在搞乙個**專案,每個站點每月的資料量近150--200萬條記錄,因為採用站點和日期分表機制來減輕伺服器的壓力,但專案中又必須對全部站點以及跨日期進行查詢資料功能。

merge儲存引擎型別允許把許多結構相同的表合併為乙個大表。然後,你可以執行查詢,從多個表返回的結果就像從乙個表返回的結果一樣,從而不需要進行聯表查詢。

一、merge 儲存引擎的特性如下:

1. 類似於 sql 中的 union機制;

2. 基本的結構必須要完全一致;

3. 基本表的儲存引擎型別必須是 myisam;

4. merge 表會建立兩個檔案:.frm 表結構定義;.mrg union表的名字清單;

5. 定義在merge 表上面的約束沒有任何作用,約束是由基本表控制的;

二、例項:

sql1:建立表1

create table table_1(

id int(5) not null auto_increment,

value varchar(100) not null,

primary key(id)

)type=myisam;

sql2:建立表2

create table table_2(

id int(5) not null auto_increment,

value varchar(100) not null,

primary key(id)

)type=myisam;

sql3:建立merge表:

create table table_merge(

id int(5) not null auto_increment,

value varchar(100) not null,

primary key(id)

) type=merge union=(table_1, table_2) insert_method=last;

在實際應用中:請注意每個基本的 auto_incremnet 自增值,就因當時沒有考慮好,才導致合併的值查詢出來不準確。你可以將 table_1 的 auto_incremnet = 1; table_2 的auto_incremnet= 1500001 ........

Mysql的MERGE儲存引擎詳解

merge 儲存引擎把一組 myisam 資料表當做乙個邏輯單元來對待,讓我們可以同時對他們進行查詢。構成乙個 merge 資料表結構的各成員 myisam 資料表必須具有完全一樣的表結構。每乙個成員資料表的資料列必須按照同樣的順序定義同樣的名字和型別,索引也必須按照同樣的順序和同樣的方式定義。假設...

merge儲存引擎

merge儲存引擎是一組myisam 表的集合。這些myisam 表的結構必須完全相同。對merge表進行的操作實際是對myisam 表的操作。但是,刪除merge 表並不會影響內部的myisam 表。它的檔案有 frm mrg insert method 的值 有 3 個 no 表示不能對merg...

MySQL中merge表儲存引擎用法

在mysql資料庫中,merge表有點類似於檢視。mysql的merge引擎型別允許你把許多結構相同的表合併為乙個表。之後,你可以執行查詢,從多個表返回的結果就像從乙個表返回的結果一樣。每乙個合併的表必須有完全相同表的定義和結構。mysql merge表的優點 a.分離靜態的和動態的資料 b.利用結...