MERGE 儲存引擎,在 MySQL 使用手冊中也提到了,也被大家認識為 MRG_MyISAM 引擎。 Why?因為 MERGE 儲存引擎可以簡單的理解為其功能就是實現了對結構相同的 MyISAM 表, 透過一些特殊的包裝對外提供一個單一的存取入口,以達到減小應用的複雜度的目的。要建立MERGE 表,不只基表的結構要完全一致,包括欄位的順序,基底表的索引也必須完全一致。
MERGE 表本身並不會儲存數據,僅僅只是為多個基表提供一個同意的儲存入口。所以在創建MERGE 表的時候, MySQL 只會產生兩個較小的文件,一個是.frm 的結構定義文件,還有一個.MRG 文件,用於存放參與MERGE 的表的名稱(包括所屬資料庫schema) 。之所以需要有所屬資料庫的schema,是因為MERGE 表不僅可以實現將Merge 同一個資料庫中的表,還可以Merge 不同資料庫中的表,只要是權限允許,並且在同一個mysqld 下面,就可以進行Merge 。 MERGE 表在建立之後,仍然可以透過相關指令來更改底層的基底表。
MERGE 表不僅可以提供讀取服務,也可以提供寫入服務。要讓 MERGE 表提供可 INSERT服務,必須在表被建立的時候就指明 INSERT 資料要寫入哪一個基底表,可以透過insert_method 參數來控制。如果沒有指定該參數,任何嘗試往 MERGE 表中 INSERT 資料的操作,都會出錯。此外,無法透過 MERGE 表直接使用基底表上面的全文索引,要使用全文索引 ,必須透過基底表本身的存取才能實現。
以上就是Mysql儲存引擎之Merge儲存引擎的介紹的內容,更多相關內容請關注PHP中文網(www.php.cn)!