首頁技術(shù)文章正文

MySQL的存儲引擎有什么作用?儲存引擎分類

更新時間:2023-11-09 來源:黑馬程序員 瀏覽量:

數(shù)據(jù)庫存儲引擎是數(shù)據(jù)庫底層軟件組織,數(shù)據(jù)庫管理系統(tǒng)(DBMS)使用數(shù)據(jù)引擎進(jìn)行創(chuàng)建、查詢、更新和刪除數(shù)據(jù)。

不同的存儲引擎提供不同的存儲機(jī)制、索引技巧、鎖定水平等功能。現(xiàn)在許多不同的數(shù)據(jù)庫管理系統(tǒng)都支持多種不同的數(shù)據(jù)引擎。MySQL的核心就是存儲引擎。

用戶可以根據(jù)不同的需求為數(shù)據(jù)表選擇不同的存儲引擎,可以使用 SHOW ENGINES 命令 可以查看Mysql的所有執(zhí)行引擎我們 可以到 默認(rèn)的執(zhí)行引擎是innoDB 支持事務(wù),行級鎖定和外鍵。

1699522644761_儲存引擎.png

MyISAM:Mysql 5.5之前的默認(rèn)數(shù)據(jù)庫引擎,最為常用。擁有較高的插入,查詢速度,但不支持事務(wù)。

InnoDB:事務(wù)型速記的首選引擎,支持ACID事務(wù),支持行級鎖定,MySQL5.5成為默認(rèn)數(shù)據(jù)庫引擎。

Memory: 所有數(shù)據(jù)置于內(nèi)存的存儲引擎,擁有極高的插入,更新和查詢效率。但是會占用和數(shù)據(jù)量成正比的內(nèi)存空間。并且其內(nèi)容會在MYSQL重新啟動是會丟失。

Archive :非常適合存儲大量的獨(dú)立的,作為歷史記錄的數(shù)據(jù)。因?yàn)樗鼈儾唤?jīng)常被讀取。Archive 擁有高效的插入速度,但其對查詢的支持相對較差。

Federated :將不同的 MySQL 服務(wù)器聯(lián)合起來,邏輯上組成一個完整的數(shù)據(jù)庫。非常適合分布式應(yīng)用。

CSV :邏輯上由逗號分割數(shù)據(jù)的存儲引擎。它會在數(shù)據(jù)庫子目錄里為每個數(shù)據(jù)表創(chuàng)建一個 .csv 文件。這是一種普通文本文件,每個數(shù)據(jù)行占用一個文本行。CSV 存儲引擎不支持索引。

BlackHole: 黑洞引擎,寫入的任何數(shù)據(jù)都會消失,一般用于記錄 binlog 做復(fù)制的中繼

ERFORMANCE_SCHEMA存儲引擎該引擎主要用于收集數(shù)據(jù)庫服務(wù)器性能參數(shù)。

Mrg_Myisam Merge存儲引擎,是一組MyIsam的組合,也就是說,他將MyIsam引擎的多個表聚合起來,但是他的內(nèi)部沒有數(shù)據(jù),真正的數(shù)據(jù)依然是MyIsam引擎的表中,但是可以直接進(jìn)行查詢、刪除更新等操作。


分享到:
在線咨詢 我要報名
和我們在線交談!