中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MyISAM和InnoDB存儲引擎的區別是什么

發布時間:2023-04-28 10:51:17 來源:億速云 閱讀:121 作者:iii 欄目:開發技術

本篇內容主要講解“MyISAM和InnoDB存儲引擎的區別是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“MyISAM和InnoDB存儲引擎的區別是什么”吧!

    前言

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

    MyISAM和InnoDB存儲引擎的區別是什么

    存儲引擎

    存儲引擎是:數據庫管理系統如何存儲數據、如何為存儲的數據建立索引和如何更新、查詢數據等技術的實現方法。

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

    show engines; //查看存儲引擎

    MyISAM和InnoDB存儲引擎的區別是什么

    MyISAM和InnoDB存儲引擎的區別是什么

    關于數據庫的大致架構和基礎操作,這里不過多介紹;

    區別

    說區別之前說一下他倆的索引底層都是BTREE+ , B+樹的數據結構維護索引和數據(m是非聚簇索引,i是聚簇索引,這點注意下)

    事務

    • InnoDB支持事務,具有安全性和完整性,系統容災性強,且通過使用多版本并發控制MVCC來獲得高并發性; 

    • MyISAM不支持事務; 系統容災性弱;

    外鍵

    • InnoDB支持外鍵

    • MyISAM不支持外鍵

    因此把一個有外鍵的InnoDB表單轉換成MyISAM表單會失敗;

    表單的存儲

    通過使用不同存儲引擎建立表單查看生成的對應存儲文件,發現除了雙方共有的 .frm存儲表屬性外:

    • InnoDB存儲引擎表單獨存放到一個獨立的IBD文件中;(索引和數據放在了一起)–>聚簇索引–>通過主鍵索引效率高; 普通鍵進行索引可能需要回表;

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

    數據查詢效率

    • InnoDB不支持全文索引,而 MyISAM 支持全文索引,查詢效率上 MyISAM更高;

    • InnoDB不保存表的具體行數,執行 select count(*) from table 時需要全表掃描。而 MyISAM 用一個變量保存了整個表的行數,執行上述語句時只需要讀出該變量即可,速度很快;

    數據更新效率

    InnoDB的內部優化,包括**磁盤預讀(**從磁盤讀取數據時采用可預測性讀取),自適應哈希(自動在內存中創建hash索引以加速讀操作)等, 且能夠加速插入操作的插入緩沖區。所以比MyISAM在數據更新能力上更優;

    如何選擇

    1. 看設計的業務是否需要支持事務,需要–InnoDB;不需要–MyISAM;

    2. 如果select讀操作頻繁,用MyISAM; 如果數據更新操作使用頻繁操作用InnoDB

    3. 考慮系統容災能力,MyISAM更不容易恢復,InnoDB容易恢復;

    既然MySQL5.5版本之后默認了InnoDB,不知道用什么那就InnoDB,跟著主流走不會錯。

    到此,相信大家對“MyISAM和InnoDB存儲引擎的區別是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    建水县| 康保县| 南漳县| 泽州县| 古交市| 墨竹工卡县| 海城市| 白河县| 凉城县| 嵩明县| 富锦市| 高雄市| 长汀县| 吐鲁番市| 富裕县| 凤冈县| 湾仔区| 隆尧县| 烟台市| 应城市| 若尔盖县| 德钦县| 兴仁县| 大新县| 安化县| 宜都市| 永康市| 龙井市| 信丰县| 南开区| 灵台县| 滨州市| 河北省| 揭西县| 阿巴嘎旗| 柯坪县| 盐源县| 富民县| 龙游县| 江永县| 察雅县|