您好,登錄后才能下訂單哦!
這篇文章主要介紹“MySQL數據庫結構和引擎比對分析”,在日常操作中,相信很多人在MySQL數據庫結構和引擎比對分析問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MySQL數據庫結構和引擎比對分析”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
MySQL數據庫結構
1、最上層的服務并不是MySQL獨有的,大多數基于網絡的客戶端/服務器的工具或者服務都有類似的架構。
2、第二層架構中,大多數的MySQL的核心服務功能都在這一層,包括查詢解析、分析、優化、緩存以及所有的內置函數(日期時間等),所有跨存儲引擎的功能都在這一層實現:存儲過程、觸發器、視圖等。
3、第三層包含了存儲引擎。存儲引擎負責MySQL中的數據的存儲和提取。MySQL支持各種不同的存儲引擎,每個存儲引擎都有它的優勢和劣勢。服務器通過API和存儲引擎進行通信。這些API接口屏蔽了不同存儲引擎之間的差異,使得這些差異對上層的查詢過程透明。存儲引擎不會解析SQL(InnoDB是個例外,它會解析外鍵定義),不同的存儲引擎之間也不能互相通信,而只是簡單的響應上層服務器的請求!
執行流程
數據庫存儲引擎是數據庫底層軟件組件,數據庫管理系統使用數據引擎進行創建、查詢、更新和刪除數據操作。
不同的存儲引擎提供不同的存儲機制、索引技巧、鎖定水平等功能,使用不同的存儲引擎還可以獲得特定的功能。
現在許多數據庫管理系統都支持多種不同的存儲引擎。MySQL的核心就是存儲引擎。
MyISAM:擁有較高的插入,查詢速度,但不支持事務。
InnoDB :5.5版本后MySQL的默認數據庫,事務型數據庫的首選引擎,支持ACID事務,支持行級鎖定。
BDB:源自Berkeley DB,事務型數據庫的另一種選擇,支持COMMIT和ROLLBACK等其他事務特性。
Memory:所有數據置于內存的存儲引擎,擁有極高的插入,更新和查詢效率。但是會占用和數據量成正比的內存空間。并且其內容會在Mysql重新啟動時丟失。
Merge:將一定數量的MyISAM表聯合而成一個整體,在超大規模數據存儲時很有用。
Archive:非常適合存儲大量的獨立的,作為歷史記錄的數據。因為它們不經常被讀取。Archive擁有高效的插入速度,但其對查詢的支持相對較差。
Federated:將不同的Mysql服務器聯合起來,邏輯上組成一個完整的數據庫。非常適合分布式應用。
Cluster/NDB:高冗余的存儲引擎,用多臺數據機器聯合提供服務以提高整體性能和安全性。適合數據量大,安全和性能要求高的應用。
CSV:邏輯上由逗號分割數據的存儲引擎。它會在數據庫子目錄里為每個數據表創建一個.CSV文件。這是一種普通文本文件,每個數據行占用一個文本行。CSV存儲引擎不支持索引。
BlackHole:黑洞引擎,寫入的任何數據都會消失,一般用于記錄binlog做復制的中繼
到此,關于“MySQL數據庫結構和引擎比對分析”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。