您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關mysql中MyISAM引擎和Innodb引擎的區別,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
MyISAM引擎:
1、不支持事務
不支持事務,但是整個操作是原子性的(事務具備四種特性:原子性、一致性、隔離性、持久性)
2、不支持外鍵
不支持外鍵,支持表鎖,每次所住的是整張表
MyISAM的表鎖有讀鎖和寫鎖(兩個鎖都是表級別):
表共享讀鎖和表獨占寫鎖。在對MyISAM表進行讀操作時,不會阻塞其他用戶對同一張表的讀請求,但是會阻塞其他用戶對表的寫請求;對其進行寫操作時會阻塞對同一表讀操作和寫操作
3、一個MyISAM表有三個文件
一個MyISAM表有三個文件:索引文件,表結構文件,數據文件
4、采用非聚集索引
采用非聚集索引,索引文件的數據域存儲指向數據文件的指針。輔索引與主索引基本一致,但是輔索引不用保證唯一性。
Innodb引擎:
1、支持事務
支持事務,支持事務的四種隔離級別;是一種具有事務(commit)、回滾(rollback)和崩潰修復能力(crash recovery capabilities)的事務安全(transaction-safe (ACID compliant))型表。
2、支持行鎖和外鍵約束
支持行鎖和外鍵約束,因此可以支持寫并發
3、一個Innodb表存儲在一個文件內
一個Innodb表存儲在一個文件內(共享表空間,表大小不受操作系統的限制),也可能為多個(設置為獨立表空間,表大小受操作系統限制,大小為2G),受操作系統文件大小的限制
4、主鍵索引采用聚集索引
主鍵索引采用聚集索引(索引的數據域存儲數據文件本身),輔索引的數據域存儲主鍵的值;因此從輔索引查找數據,需要先通過輔索引找到主鍵值,再訪問主鍵索引;最好使用自增主鍵,防止插入數據時,為維持B+樹結構,文件的大調整。
看完上述內容,你們對mysql中MyISAM引擎和Innodb引擎的區別有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。