您好,登錄后才能下訂單哦!
這篇文章主要介紹了Mysql數據庫中的存儲引擎是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Mysql數據庫中的存儲引擎是什么文章都會有所收獲,下面我們一起來看看吧。
存儲引擎是數據庫中非常關鍵的部分,它就像是飛機、火箭中的引擎那樣。我們能不能把飛機上的存儲引擎發到火箭上去呢? 顯然是不可能的,因為引擎的使用是要看使用的場景的。而在Mysql中,存儲引擎也是一樣的,其沒有好壞之分。我們需要在合適的場景下使用合適的存儲引擎才是我們需要做到位的。存儲引擎就是存儲數據、建立索引、更新/查詢數據等技術的實現方式。存儲引擎是基于表的,而不是基于庫的,所以存儲引擎也可以被稱為表類型。
MYsql的體系結構如下圖所示:
最上層是一些客戶端和鏈接服務,主要完成一些類似于連接處理,授權認證,及相關的安全方案,服務器也會為安全接入的每個客戶端驗證它所具有的操作權限。
第二層架構主要完成大多數的核心服務功能,如SOL接口,并完成緩存的查詢,SOL的分析和優化,部分內置函數的執行。所有跨存儲引擎的功能也在這一層實現,如 過程、函數等。
存儲引警真正的負責了MvSOL中數據的存儲和提取,服務器通過API和存儲引警進行通信。不同的存儲引擎具有不同的功能,這樣我們可以根據自己的需要,來選取合適的存儲引擎。
主要是將數據存儲在文件系統之上:并完成與存儲引擎的交互。
存儲引擎是有很多的,在MYsql 5.5 之后,默認的存儲引擎是InnoDB 存儲引擎。之前默認的是Memory 存儲引擎。
show engines;
create table Course( Con int primary key auto_increment, Cname varchar(10), Cpon int, Ccredit int ) show create table course;
例如,我們可以在創建表的同時,指定此表的存儲引擎類型。
create table test_mysql( name varchar(10), age int ) engine = Memory;
這里重點介紹以下 InnoDB
InnoDB是一種兼顧高可靠性和高性能的通用存儲引擎,在 MvSOL 5.5 之后,InnoDB是默認的 MvSOL存儲引擎。
DML操作遵循ACID模型,支持事務;
行級鎖,提高并發訪問性能;
支持外鍵FOREIGN KEY約束,保證數據的完整性和正確性:
xxx.ibd:xxx代表的是表名,innoDB引擎的每張表都會對應這樣一個表空間文件,存儲該表的表結構(frm、sdi)、數據和索引。
參數:innodb file per table
最后用一張圖,來展示一下InnoDB 的邏輯存儲結構。
總結:InnoDB 是支持事務的,而MyISAM不支持;InnoDB 是支持行鎖的,而MyISAM不支持,支持表鎖;InnoDB 是支持外鍵的,而MyISAM不支持;
關于“Mysql數據庫中的存儲引擎是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Mysql數據庫中的存儲引擎是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。