本篇文章為大家展示了Mysql中如何使用MERGE存儲引擎,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
為企業提供網站制作、成都網站設計、網站優化、成都全網營銷、競價托管、品牌運營等營銷獲客服務。創新互聯擁有網絡營銷運營團隊,以豐富的互聯網營銷經驗助力企業精準獲客,真正落地解決中小企業營銷獲客難題,做到“讓獲客更簡單”。自創立至今,成功用技術實力解決了企業“網站建設、網絡品牌塑造、網絡營銷”三大難題,同時降低了營銷成本,提高了有效客戶轉化率,獲得了眾多企業客戶的高度認可!MERGE 存儲引擎把一組 MyISAM 數據表當做一個邏輯單元來對待,讓我們可以同時對他們進行查詢。構成一個 MERGE 數據表結構的各成員 MyISAM 數據表必須具有完全一樣的表結構。每一個成員數據表的數據列必須按照同樣的順序定義同樣的名字和類型,索引也必須按照同樣的順序和同樣的方式定義。假設你有幾個日志數據表,他們內容分別是這幾年來每一年的日志記錄項,他們的定義都是下面這樣,YY 代表年份
CREATE TABLE log_YY ( dt DATETIME NOT NULL, info VARCHAR(100) NOT NULL, INDEX (dt) ) ENGINE = MyISAM;
假設日志數據表的當前集合包括 log_2004、log_2005、log_2006、log_2007 ,而你可以創建一個如下所示的 MERGE 數據表把他們歸攏為一個邏輯單元:
CREATE TABLE log_merge ( dt DATETIME NOT NULL, info VARCHAR(100) NOT NULL, INDEX(dt) ) ENGINE = MERGE UNION = (log_2004, log_2005, log_2006, log_2007);
ENGINE 選項的值必須是 MERGE,UNION 選項列出了將被收錄在這個 MERGE 數據表離得各有關數據表。把這個 MERGE 創建出來后,就可以像對待任何其他數據表那樣查詢它,只是每一次查詢都將同時作用與構成它的每一個成員數據表 。下面這個查詢可以讓我們知道上述幾個日志數據表的數據行的總數:
SELECT COUNT(*)FROM log_merge;
下面這個查詢用來確定在這幾年里每年各有多少日志記錄項:
SELECT YEAR(dt) AS y, COUNT(*) AS entries FROM log_merge GROUP BY y;
除了便于同時引用多個數據表而無需發出多條查詢,MERGE 數據表還提供了以下一些便利。
1)、MERGE 數據表可以用來創建一個尺寸超過各個 MyISAM 數據表所允許的大長度邏輯單元
2)、經過壓縮的數據表包括到 MERGE 數據表里。比如說,在某一年結束之后,你應該不會再往相應的日志文件里添加記錄,所以你可以用 myisampack 工具壓縮它以節省空間,而 MERGE 數據表仍可以像往常那樣工作
3)、MERGE 數據表也支持 DELETE 和 UPDATE 操作。INSERT 操作比較麻煩,因為 MySQL 需要知道應該把新數據行插入到哪一個成員表里去。在 MERGE 數據表的定義里可以包括一個 INSERT_METHOD 選項,這個選項的可取值是 NO、FIRST、LAST,他們的含義依次是 INSERT操作是被禁止的、新數據行將被插入到現在 UNION 選項里列出的第一個數據表或最后一個數據表。比如說,以下定義將對 log_merge 數據表的 INSERT 操作被當作對 log_2007 數據表----它是 UNION 選項所列出的最后一個數據表:
CREATE TABLE log_merge( dt DATETIME NOT NULL, info VARCHAR(100) NOT NULL, INDEX(dt) ) ENGINE = MERGE UNION = (log_2004, log_2005, log_2006, log_2007) INSERT_METHOD = LAST;
創建一個新的成員數據表 log_2009 并讓他有同樣的表結構,然后修改 log_merge 數據表把 log_2009 包括進來:log_2009:
CREATE TABLE log_2009 LIKE log_2008; //根據舊表創建新表 ALTER TABLE log_merge UNION = (log_2004, log_2005, log_2006,log_2007,log_2008,log_2009);
上述內容就是Mysql中如何使用MERGE存儲引擎,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創新互聯行業資訊頻道。
網頁標題:Mysql中如何使用MERGE存儲引擎-創新互聯
當前路徑:http://vcdvsql.cn/article36/iijpg.html
成都網站建設公司_創新互聯,為您提供網站策劃、品牌網站建設、網站設計公司、動態網站、網站收錄、做網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯