[英]Is there any advantage of using ENGINE as MRG_MYISAM in mysql
我正在做一個像google adwords這樣的跟蹤網站。 我只做修改。 在那個站點中,我看到他們正在為每個月創建表,並將該表合並為一個表,該表存儲了有關點擊和搜索詳細信息的信息以及合並后的表(具有記錄的部分)。在查詢中,他們僅使用了合並表,其中包含大量記錄。 使用這樣的表有什么好處嗎?查詢要花10多分鍾才能執行。
優點如下:如果您沒有獲得以下優點,請不要使用它。
輕松管理一組日志表。 例如,您可以將不同月份的數據放入單獨的表中,使用myisampack壓縮其中的一些數據,然后創建MERGE表以將它們用作一個表。
獲得更高的速度。 您可以根據某些條件拆分一個大型只讀表,然后將各個表放在不同的磁盤上。 以這種方式構造的MERGE表可能比使用單個大型表快得多。
執行更有效的搜索。 如果您確切知道要查找的內容,則可以僅在基礎表之一中搜索某些查詢,而在其他表中使用MERGE表。 您甚至可以擁有許多使用重疊表集的不同MERGE表。
執行更有效的維修。 修復映射到MERGE表的單個較小的表比修復單個大型表要容易。
立即將多個表映射為一個。 MERGE表不需要維護其自身的索引,因為它使用各個表的索引。 因此,MERGE表集合可以非常快速地創建或重新映射。 (即使沒有創建索引,在創建MERGE表時仍必須指定索引定義。)
如果您有一組表,可以根據需要從中創建一個大表,則可以根據需要從中創建一個MERGE表。 這快得多,並節省了大量磁盤空間。
超出了操作系統的文件大小限制。 每個MyISAM表都受此限制約束,但沒有MyISAM表的集合。
您可以通過定義映射到單個表的MERGE表來為MyISAM表創建別名或同義詞。 這樣做不會對性能造成任何明顯的影響(每次讀取僅需要進行兩次間接調用和memcpy()調用)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.