最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2023年04月28日 09:58:58   作者:魏天樂(lè)大帥哥  
這篇文章主要介紹了MyISAM和InnoDB存儲(chǔ)引擎的區(qū)別,存儲(chǔ)引擎是MySQL中特有的一個(gè)術(shù)語(yǔ),其它數(shù)據(jù)庫(kù)中沒(méi)有,實(shí)際上存儲(chǔ)引擎是一個(gè)表存儲(chǔ)/組織數(shù)據(jù)的方式,今天就跟小編來(lái)看看MyISAM和InnoDB存儲(chǔ)引擎的區(qū)別,需要的朋友可以參考下

前言

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

在這里插入圖片描述

存儲(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ǔ)引擎

在這里插入圖片描述

在這里插入圖片描述

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

區(qū)別

說(shuō)區(qū)別之前說(shuō)一下他倆的索引底層都是BTREE+ , B+樹的數(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ù)存放的是指針,不需要回表,主鍵索引和普通鍵索引分開了;

數(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)化,包括**磁盤預(yù)讀(**從磁盤讀取數(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ò);

到此這篇關(guān)于淺談一下MyISAM和InnoDB存儲(chǔ)引擎的區(qū)別的文章就介紹到這了,更多相關(guān)MyISAM和InnoDB存儲(chǔ)引擎內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL與PHP的基礎(chǔ)與應(yīng)用專題之?dāng)?shù)據(jù)查詢

    MySQL與PHP的基礎(chǔ)與應(yīng)用專題之?dāng)?shù)據(jù)查詢

    MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL?AB?公司開發(fā),屬于?Oracle?旗下產(chǎn)品。MySQL?是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,本系列將帶你掌握php與mysql的基礎(chǔ)應(yīng)用,本篇從數(shù)據(jù)的查詢開始
    2022-02-02
  • MySQL系列之十一 日志記錄

    MySQL系列之十一 日志記錄

    這篇文章主要介紹了MySQL日志文件詳解,本文分別講解了錯(cuò)誤日志、二進(jìn)制日志、通用查詢?nèi)罩尽⒙樵內(nèi)罩?、Innodb的在線redo日志、更新日志等日志類型和作用介紹,需要的朋友可以參考下
    2021-07-07
  • MySql5.5忘記root密碼怎么辦

    MySql5.5忘記root密碼怎么辦

    使用mysql5.5,突然root密碼忘記,怎么也登錄不了,很急人,該怎么解決呢?下面通過(guò)本文給大家介紹mysql5.5忘記root密碼的解決辦法,需要的朋友參考下吧
    2016-01-01
  • MySQL備份時(shí)排除指定數(shù)據(jù)庫(kù)的方法

    MySQL備份時(shí)排除指定數(shù)據(jù)庫(kù)的方法

    這篇文章主要介紹了MySQL備份時(shí)排除指定數(shù)據(jù)庫(kù)的方法的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • MySQL判斷空值的三種方法

    MySQL判斷空值的三種方法

    在創(chuàng)建表時(shí),可以指定的列是否可以不包含值,如果在一個(gè)列不包含值,則其稱其為空值NULL,NULL一個(gè)特殊值,代表缺失的值或者不適用的情況,表示未知數(shù)據(jù),本文給大家介紹了MySQL判斷空值的三種方法,需要的朋友可以參考下
    2024-03-03
  • mysql缺少my.ini文件的解決方法

    mysql缺少my.ini文件的解決方法

    使用的這么長(zhǎng)時(shí)間的mysql,有一天我突然需要使用mysql?的配置文件my.ini時(shí)發(fā)現(xiàn)沒(méi)有這個(gè)文件并且這個(gè)文件不是被隱藏了,所以本文給大家介紹了mysql缺少my.ini文件的解決方法,需要的朋友可以參考下
    2023-12-12
  • GROUP_CONCAT的用法

    GROUP_CONCAT的用法

    GROUP_CONCAT的用法...
    2006-12-12
  • MySQL存儲(chǔ)過(guò)程中使用WHILE循環(huán)語(yǔ)句的方法

    MySQL存儲(chǔ)過(guò)程中使用WHILE循環(huán)語(yǔ)句的方法

    這篇文章主要介紹了MySQL存儲(chǔ)過(guò)程中使用WHILE循環(huán)語(yǔ)句的方法,實(shí)例分析了在MySQL中循環(huán)語(yǔ)句的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • mysql嚴(yán)格模式Strict?Mode詳細(xì)說(shuō)明

    mysql嚴(yán)格模式Strict?Mode詳細(xì)說(shuō)明

    使用mysql嚴(yán)格模式可以使數(shù)據(jù)更加安全嚴(yán)格,缺點(diǎn)是減少了對(duì)空數(shù)據(jù)入庫(kù)的兼容性,下面這篇文章主要給大家介紹了關(guān)于mysql嚴(yán)格模式Strict?Mode詳細(xì)說(shuō)明的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • MySQLexplain之possible_keys、key及key_len詳解

    MySQLexplain之possible_keys、key及key_len詳解

    這篇文章主要介紹了MySQLexplain之possible_keys、key及key_len的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評(píng)論

青州市| 鹿泉市| 玛沁县| 兰西县| 聂拉木县| 牙克石市| 鄂伦春自治旗| 康保县| 太仆寺旗| 科技| 桃园市| 社会| 新和县| 会东县| 永城市| 蛟河市| 尚义县| 平安县| 南江县| 衡东县| 宜兴市| 昌都县| 水城县| 福鼎市| 图木舒克市| 道真| 巴中市| 乌拉特中旗| 久治县| 长岛县| 额尔古纳市| 龙陵县| 南城县| 左云县| 烟台市| 六盘水市| 辉南县| 竹溪县| 华亭县| 泊头市| 吉安县|