欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql的MERGE存儲(chǔ)引擎詳解

 更新時(shí)間:2019年02月14日 15:35:29   投稿:laozhang  
在本文里我們給大家整理了關(guān)于Mysql的MERGE存儲(chǔ)引擎的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的讀者們學(xué)習(xí)下。

MERGE 存儲(chǔ)引擎把一組 MyISAM 數(shù)據(jù)表當(dāng)做一個(gè)邏輯單元來對(duì)待,讓我們可以同時(shí)對(duì)他們進(jìn)行查詢。構(gòu)成一個(gè) MERGE 數(shù)據(jù)表結(jié)構(gòu)的各成員 MyISAM 數(shù)據(jù)表必須具有完全一樣的表結(jié)構(gòu)。每一個(gè)成員數(shù)據(jù)表的數(shù)據(jù)列必須按照同樣的順序定義同樣的名字和類型,索引也必須按照同樣的順序和同樣的方式定義。假設(shè)你有幾個(gè)日志數(shù)據(jù)表,他們內(nèi)容分別是這幾年來每一年的日志記錄項(xiàng),他們的定義都是下面這樣,YY 代表年份

CREATE TABLE log_YY ( 
  dt DATETIME NOT NULL, 
  info VARCHAR(100) NOT NULL, 
  INDEX (dt) 
) ENGINE = MyISAM;

假設(shè)日志數(shù)據(jù)表的當(dāng)前集合包括 log_2004、log_2005、log_2006、log_2007 ,而你可以創(chuàng)建一個(gè)如下所示的 MERGE 數(shù)據(jù)表把他們歸攏為一個(gè)邏輯單元:

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 選項(xiàng)的值必須是 MERGE,UNION 選項(xiàng)列出了將被收錄在這個(gè) MERGE 數(shù)據(jù)表離得各有關(guān)數(shù)據(jù)表。把這個(gè) MERGE 創(chuàng)建出來后,就可以像對(duì)待任何其他數(shù)據(jù)表那樣查詢它,只是每一次查詢都將同時(shí)作用與構(gòu)成它的每一個(gè)成員數(shù)據(jù)表 。下面這個(gè)查詢可以讓我們知道上述幾個(gè)日志數(shù)據(jù)表的數(shù)據(jù)行的總數(shù):

SELECT COUNT(*)FROM log_merge;

下面這個(gè)查詢用來確定在這幾年里每年各有多少日志記錄項(xiàng):

SELECT YEAR(dt) AS y, COUNT(*) AS entries FROM log_merge GROUP BY y;

除了便于同時(shí)引用多個(gè)數(shù)據(jù)表而無需發(fā)出多條查詢,MERGE 數(shù)據(jù)表還提供了以下一些便利。

1)、MERGE 數(shù)據(jù)表可以用來創(chuàng)建一個(gè)尺寸超過各個(gè) MyISAM 數(shù)據(jù)表所允許的最大長度邏輯單元

2)、經(jīng)過壓縮的數(shù)據(jù)表包括到 MERGE 數(shù)據(jù)表里。比如說,在某一年結(jié)束之后,你應(yīng)該不會(huì)再往相應(yīng)的日志文件里添加記錄,所以你可以用 myisampack 工具壓縮它以節(jié)省空間,而 MERGE 數(shù)據(jù)表仍可以像往常那樣工作

3)、MERGE 數(shù)據(jù)表也支持 DELETE 和 UPDATE 操作。INSERT 操作比較麻煩,因?yàn)?MySQL 需要知道應(yīng)該把新數(shù)據(jù)行插入到哪一個(gè)成員表里去。在 MERGE 數(shù)據(jù)表的定義里可以包括一個(gè) INSERT_METHOD 選項(xiàng),這個(gè)選項(xiàng)的可取值是 NO、FIRST、LAST,他們的含義依次是 INSERT操作是被禁止的、新數(shù)據(jù)行將被插入到現(xiàn)在 UNION 選項(xiàng)里列出的第一個(gè)數(shù)據(jù)表或最后一個(gè)數(shù)據(jù)表。比如說,以下定義將對(duì) log_merge 數(shù)據(jù)表的 INSERT 操作被當(dāng)作對(duì) log_2007 數(shù)據(jù)表----它是 UNION 選項(xiàng)所列出的最后一個(gè)數(shù)據(jù)表:

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;

創(chuàng)建一個(gè)新的成員數(shù)據(jù)表 log_2009 并讓他有同樣的表結(jié)構(gòu),然后修改 log_merge 數(shù)據(jù)表把 log_2009 包括進(jìn)來:log_2009:

CREATE TABLE log_2009 LIKE log_2008; //根據(jù)舊表創(chuàng)建新表
ALTER TABLE log_merge UNION = (log_2004, log_2005, log_2006,log_2007,log_2008,log_2009);

相關(guān)文章

  • 高效數(shù)據(jù)流轉(zhuǎn):Mycat分庫分表與GreatSQL實(shí)時(shí)同步

    高效數(shù)據(jù)流轉(zhuǎn):Mycat分庫分表與GreatSQL實(shí)時(shí)同步

    聚焦數(shù)據(jù)庫擴(kuò)容與實(shí)時(shí)數(shù)據(jù)同步,探索MyCat分庫分表與GreatSQL的強(qiáng)大結(jié)合!想在大規(guī)模數(shù)據(jù)處理中游刃有余?本指南將帶你輕松掌握MyCat的分布式解決方案和GreatSQL的實(shí)時(shí)同步機(jī)制,讓高效、穩(wěn)定的數(shù)據(jù)庫管理觸手可及,一起揭開高并發(fā)環(huán)境下數(shù)據(jù)庫優(yōu)化的神秘面紗吧!
    2024-01-01
  • MySQL Json類型字段IN查詢分組優(yōu)化

    MySQL Json類型字段IN查詢分組優(yōu)化

    這篇文章主要為大家介紹了MySQL Json類型字段IN查詢分組優(yōu)化,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • 解壓版MYSQL中文亂碼問題解決方案

    解壓版MYSQL中文亂碼問題解決方案

    這篇文章主要介紹了解壓版MYSQL中文亂碼問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • MySQL如何刪除mysql數(shù)據(jù)表內(nèi)的重復(fù)數(shù)據(jù)

    MySQL如何刪除mysql數(shù)據(jù)表內(nèi)的重復(fù)數(shù)據(jù)

    這篇文章主要介紹了MySQL如何刪除mysql數(shù)據(jù)表內(nèi)的重復(fù)數(shù)據(jù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • mysql5.7.18安裝并修改初始密碼的方法

    mysql5.7.18安裝并修改初始密碼的方法

    這篇文章主要為大家詳細(xì)介紹了Mysql5.7安裝并修改初始密碼的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • MySQL索引數(shù)據(jù)結(jié)構(gòu)入門詳細(xì)教程

    MySQL索引數(shù)據(jù)結(jié)構(gòu)入門詳細(xì)教程

    這篇文章主要為大家介紹了MySQL索引數(shù)據(jù)結(jié)構(gòu)入門詳細(xì)教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • mysql報(bào)錯(cuò)sql_mode=only_full_group_by解決

    mysql報(bào)錯(cuò)sql_mode=only_full_group_by解決

    這篇文章主要為大家介紹了mysql報(bào)錯(cuò)sql_mode=only_full_group_by解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • MySQL實(shí)現(xiàn)merge?into四種方法代碼實(shí)例

    MySQL實(shí)現(xiàn)merge?into四種方法代碼實(shí)例

    Merge?into是一個(gè)數(shù)據(jù)庫操作術(shù)語,通常用于將兩個(gè)或多個(gè)表中的數(shù)據(jù)合并到一個(gè)表中,這篇文章主要給大家介紹了關(guān)于MySQL實(shí)現(xiàn)merge?into四種方法的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • php mysql insert into 結(jié)合詳解及實(shí)例代碼

    php mysql insert into 結(jié)合詳解及實(shí)例代碼

    在mysql中如果要保存數(shù)據(jù)到數(shù)據(jù)庫我們就會(huì)用到insert into命令了,下面我來給大家介紹mysql insert into幾種常用的使用方法,需要的朋友可以參考下
    2016-11-11
  • MySQL GTID主備不一致的修復(fù)方案

    MySQL GTID主備不一致的修復(fù)方案

    這篇文章主要介紹了MySQL GTID主備不一致的修復(fù)方案,幫助大家更好的理解和學(xué)習(xí)使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2021-04-04

最新評(píng)論