Mysql存儲引擎之Merge存儲引擎的介紹

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)!

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享