国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MyISAM和InnoDB存儲(chǔ)引擎的區(qū)別

這篇具有很好參考價(jià)值的文章主要介紹了MyISAM和InnoDB存儲(chǔ)引擎的區(qū)別。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

前言

MyISAM和InnoDB是使用MySQL最常用的兩種存儲(chǔ)引擎,在5.5版本之前默認(rèn)采用MyISAM存儲(chǔ)引擎,從5.5開(kāi)始采用InnoDB存儲(chǔ)引擎。

innodb和myisam兩種存儲(chǔ)引擎,MySQL數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),mysql,java

存儲(chǔ)引擎

存儲(chǔ)引擎是:數(shù)據(jù)庫(kù)管理系統(tǒng)如何存儲(chǔ)數(shù)據(jù)、如何為存儲(chǔ)的數(shù)據(jù)建立索引和如何更新、查詢數(shù)據(jù)等技術(shù)的實(shí)現(xiàn)方法。

MySQL的核心就是插件式存儲(chǔ)引擎,支持多種存儲(chǔ)引擎

show engines; //查看存儲(chǔ)引擎

innodb和myisam兩種存儲(chǔ)引擎,MySQL數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),mysql,java

innodb和myisam兩種存儲(chǔ)引擎,MySQL數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),mysql,java

關(guān)于數(shù)據(jù)庫(kù)的大致架構(gòu)和基礎(chǔ)操作,參考本人博客,這里不過(guò)多介紹;

區(qū)別

說(shuō)區(qū)別之前說(shuō)一下他倆的索引底層都是BTREE+ , B+樹(shù)的數(shù)據(jù)結(jié)構(gòu)維護(hù)索引和數(shù)據(jù)(m是非聚簇索引,i是聚簇索引,這點(diǎn)注意下)參考本人博客

事務(wù)

  • InnoDB支持事務(wù),具有安全性和完整性,系統(tǒng)容災(zāi)性強(qiáng),且通過(guò)使用多版本并發(fā)控制MVCC來(lái)獲得高并發(fā)性; 參考本人博客
  • MyISAM不支持事務(wù); 系統(tǒng)容災(zāi)性弱;

外鍵

  • InnoDB支持外鍵
  • MyISAM不支持外鍵

因此把一個(gè)有外鍵的InnoDB表單轉(zhuǎn)換成MyISAM表單會(huì)失敗;

表單的存儲(chǔ)

通過(guò)使用不同存儲(chǔ)引擎建立表單查看生成的對(duì)應(yīng)存儲(chǔ)文件,發(fā)現(xiàn)除了雙方共有的 .frm存儲(chǔ)表屬性外:

  • InnoDB存儲(chǔ)引擎表單獨(dú)存放到一個(gè)獨(dú)立的IBD文件中;(索引和數(shù)據(jù)放在了一起)–>聚簇索引–>通過(guò)主鍵索引效率高; 普通鍵進(jìn)行索引可能需要回表;

  • MyISAM存儲(chǔ)引擎表單MYDMYI兩部分組成,其中MYD(MYData)用來(lái)存放數(shù)據(jù)文件,而MYI(MYIndex)則用來(lái)存放索引文件–>非聚簇索引–>數(shù)據(jù)存放的是指針,不需要回表,主鍵索引和普通鍵索引分開(kāi)了;

數(shù)據(jù)查詢效率

  • InnoDB不支持全文索引,而 MyISAM 支持全文索引查詢效率上 MyISAM更高;
  • InnoDB不保存表的具體行數(shù),執(zhí)行 select count(*) from table 時(shí)需要全表掃描。而 MyISAM 用一個(gè)變量保存了整個(gè)表的行數(shù),執(zhí)行上述語(yǔ)句時(shí)
    只需要讀出該變量即可,速度很快;

數(shù)據(jù)更新效率

InnoDB的內(nèi)部?jī)?yōu)化,包括**磁盤(pán)預(yù)讀(**從磁盤(pán)讀取數(shù)據(jù)時(shí)采用可預(yù)測(cè)性讀取),自適應(yīng)哈希(自動(dòng)在內(nèi)存中創(chuàng)建hash索引以加速讀操作)等, 且能夠加速插入操作的插入緩沖區(qū)。所以比MyISAM在數(shù)據(jù)更新能力上更優(yōu);

如何選擇

  1. 看設(shè)計(jì)的業(yè)務(wù)是否需要支持事務(wù),需要–InnoDB;不需要–MyISAM;
  2. 如果select讀操作頻繁,用MyISAM; 如果數(shù)據(jù)更新操作使用頻繁操作用InnoDB
  3. 考慮系統(tǒng)容災(zāi)能力,MyISAM更不容易恢復(fù),InnoDB容易恢復(fù);

既然MySQL5.5版本之后默認(rèn)了InnoDB,不知道用什么那就InnoDB,跟著主流走不會(huì)錯(cuò);文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-813275.html

到了這里,關(guān)于MyISAM和InnoDB存儲(chǔ)引擎的區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • MySQL高級(jí)篇(存儲(chǔ)引擎InnoDB、MyISAM、Memory)

    MySQL高級(jí)篇(存儲(chǔ)引擎InnoDB、MyISAM、Memory)

    目錄 1、存儲(chǔ)引擎簡(jiǎn)介 1.1、查詢建表語(yǔ)句,默認(rèn)存儲(chǔ)引擎:InnoDB 1.2、查看當(dāng)前數(shù)據(jù)庫(kù)支持的存儲(chǔ)引擎 1.3、創(chuàng)建表,并指定存儲(chǔ)引擎 2、?存儲(chǔ)引擎-InnoDB介紹 2.1、存儲(chǔ)引擎特點(diǎn) ?3、MyISAM存儲(chǔ)引擎 ?4、Memory存儲(chǔ)引擎 ?5、InnoDB、MyISAM、Memory的區(qū)別 ?6、存儲(chǔ)引擎的選擇 介紹:In

    2024年04月11日
    瀏覽(22)
  • MySQL的三種存儲(chǔ)引擎 InnoDB、MyISAM、Memory

    MySQL的三種存儲(chǔ)引擎 InnoDB、MyISAM、Memory

    InnoDB是一種兼顧高可靠性和高性能的通用存儲(chǔ)引擎,在 MySQL 5.5 之后,InnoDB是默認(rèn)的MySQL 存儲(chǔ)引擎。 DML操作遵循ACID模型,支持事務(wù); 行級(jí)鎖,提高并發(fā)訪問(wèn)性能; 支持外鍵FOREIGN KEY約束,保證數(shù)據(jù)的完整性和正確性; xxx.ibd:xxx代表的是表名,innoDB引擎的每張表都會(huì)對(duì)應(yīng)這樣

    2024年01月20日
    瀏覽(18)
  • 【MySQL】InnoDB和MyISAM區(qū)別詳解(MySQL專(zhuān)欄啟動(dòng))

    【MySQL】InnoDB和MyISAM區(qū)別詳解(MySQL專(zhuān)欄啟動(dòng))

    ??作者簡(jiǎn)介: 小明java問(wèn)道之路 , 2022年度博客之星全國(guó)TOP3 ,專(zhuān)注于后端、中間件、計(jì)算機(jī)底層、架構(gòu)設(shè)計(jì)演進(jìn)與穩(wěn)定性建設(shè)優(yōu)化,文章內(nèi)容兼具廣度、深度、大廠技術(shù)方案,對(duì)待技術(shù)喜歡推理加驗(yàn)證,就職于知名金融公司后端高級(jí)工程師。 ? ? ? ?? ?? 熱衷分享,喜歡原

    2024年02月03日
    瀏覽(20)
  • ??INNODB和MyISAM區(qū)別

    ??INNODB和MyISAM區(qū)別

    1 存儲(chǔ)引擎是MyISAM 如下: CREATE table test_myisam (cli ?int ) ? ENGINE=MyISAM 存儲(chǔ)目錄里會(huì)有三個(gè)文件 test_myisam.frm為“表定義”,是描述數(shù)據(jù)表結(jié)構(gòu)的文件 test_myisam.MYI文件是表的索引 test_myisam.MYD文件是表的數(shù)據(jù) 2 存儲(chǔ)引擎是INNODB CREATE table test_myisam_innodb (cli ?int ) ? ENGINE=INNODB ? test

    2024年02月08日
    瀏覽(26)
  • 【MySQL高級(jí)】——InnoDB索引&MyISAM索引

    【MySQL高級(jí)】——InnoDB索引&MyISAM索引

    ??MySQL官方對(duì)索引的定義為:索引(Index)是幫助MySQL高效獲取數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。 索引的本質(zhì):索引是數(shù)據(jù)結(jié)構(gòu)。你可以簡(jiǎn)單理解為“排好序的快速查找數(shù)據(jù)結(jié)構(gòu)”,滿足特定查找算法。 這些數(shù)據(jù)結(jié)構(gòu)以某種方式指向數(shù)據(jù), 這樣就可以在這些數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)上實(shí)現(xiàn) 高級(jí)查找

    2023年04月27日
    瀏覽(20)
  • MySQL架構(gòu) & InnoDB存儲(chǔ)引擎

    MySQL架構(gòu) & InnoDB存儲(chǔ)引擎

    我們?cè)陂_(kāi)發(fā)的時(shí)候,我們都需要對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行存儲(chǔ),這個(gè)時(shí)候,你們就會(huì)用到MySQL 、O racal 等數(shù)據(jù)庫(kù)。 MySQL它是一個(gè)關(guān)系型數(shù)據(jù)庫(kù), 這種關(guān)系型數(shù)據(jù)庫(kù)就有Oracal 、 MySQL,以及最近很火的PgSQL 等。 那什么是關(guān)系型數(shù)據(jù)庫(kù)呢? 就是它是 基于我們的SQL語(yǔ)句去執(zhí)行操作的 。 其實(shí)

    2024年02月07日
    瀏覽(59)
  • MySQL 的 InnoDB 存儲(chǔ)引擎簡(jiǎn)介

    MySQL 的 InnoDB 存儲(chǔ)引擎簡(jiǎn)介

    MySQL 是世界上最流行的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,而其中的存儲(chǔ)引擎則是其關(guān)鍵組成部分之一。InnoDB 存儲(chǔ)引擎在 MySQL 中扮演了重要角色,提供了許多高級(jí)功能和性能優(yōu)化,適用于各種應(yīng)用程序和工作負(fù)載。本文將深入介紹 InnoDB 存儲(chǔ)引擎的各個(gè)方面,以幫助您更好地理

    2024年02月08日
    瀏覽(30)
  • 談?wù)凪ySQL的InnoDB存儲(chǔ)引擎

    談?wù)凪ySQL的InnoDB存儲(chǔ)引擎

    大家好,我是易安! 今天我們談一談MySQL中InnoDB存儲(chǔ)引擎。InnoDB存儲(chǔ)引擎作為我們最常用到的存儲(chǔ)引擎之一,充分熟悉它的的實(shí)現(xiàn)和運(yùn)行原理,有助于我們更好地創(chuàng)建和維護(hù)數(shù)據(jù)庫(kù)表。 InnoDB主要包括了內(nèi)存池、后臺(tái)線程以及存儲(chǔ)文件。內(nèi)存池又是由多個(gè)內(nèi)存塊組成的,主要包

    2024年02月03日
    瀏覽(20)
  • MySQL—MySQL的存儲(chǔ)引擎之InnoDB

    MySQL—MySQL的存儲(chǔ)引擎之InnoDB

    存儲(chǔ)引擎 說(shuō)明 MyISAM 高速引擎,擁有較高的插入,查詢速度,但不支持事務(wù) InnoDB 5.5版本后MySQL的默認(rèn)數(shù)據(jù)庫(kù)存儲(chǔ)引擎,支持事務(wù)和行級(jí)鎖,比MyISAM處理速度稍慢 ISAM MyISAM的前身,MySQL5.0以后不再默認(rèn)安裝 MRG_MyISAM 將多個(gè)表聯(lián)合成一個(gè)表使用,在超大規(guī)模數(shù)據(jù)存儲(chǔ)時(shí)很有用 Me

    2024年04月26日
    瀏覽(24)
  • mysql--InnoDB存儲(chǔ)引擎--架構(gòu)和事務(wù)

    mysql--InnoDB存儲(chǔ)引擎--架構(gòu)和事務(wù)

    MySQL進(jìn)階篇 InnoDB 邏輯存儲(chǔ)單元主層級(jí)關(guān)系圖: 1、表空間 表空間是InnoDB存儲(chǔ)引擎邏輯結(jié)構(gòu)的最高層, 如果用戶啟用了參數(shù) innodb_file_per_table(在 8.0版本中默認(rèn)開(kāi)啟) ,則每張表都會(huì)有一個(gè)表空間(xxx.ibd),一個(gè)mysql實(shí)例可以對(duì)應(yīng)多個(gè)表空間,用于存儲(chǔ)記錄、索引等數(shù)據(jù)。 2、段

    2024年02月14日
    瀏覽(21)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包