久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL數據庫存儲引擎的分類有哪些

140次閱讀
沒有評論

共計 1671 個字符,預計需要花費 5 分鐘才能閱讀完成。

這篇文章主要講解了“MySQL 數據庫存儲引擎的分類有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“MySQL 數據庫存儲引擎的分類有哪些”吧!

1、簡介 MySQL 中的數據用各種不同的技術存儲在文件 (或者內存) 中。每一種技術都使用不同的存儲機制、索引技巧、鎖定水平并且最終提供廣泛的不同的功能和能力。

通過選擇不同的技術,你能夠獲得額外的速度或者功能,從而改善你的應用的整體功能。例如,如果你在研究大量的臨時數據,你也許只需要將數據存儲在內存中而不是文件中(內存存儲引擎能夠在內存中存儲所有的表格數據)。又或者,你也許需要一個支持事務處理的數據庫(以確保事務處理不成功時數據的回退能力)。

這些不同的技術以及配套的相關功能在 MySQL 中被稱作存儲引擎(也稱作表類型)

2. 存儲引擎的分類

MySQL 默認配置了許多不同的存儲引擎,可以預先設置或者在 MySQL 服務器中啟用,我們可以根據對數據處理的需求,選擇不同的存儲引擎,從而最大限度的利用 MySQL 強大的功能。

在客戶端使用相關命令顯示所有存儲引擎:show engines;

這里介紹一下常用的存儲引擎

1)innoDB

InnoDB 是一個健壯的事務型存儲引擎,這種存儲引擎已經被很多互聯網公司使用,為用戶操作非常大的數據存儲提供了一個強大的解決方案。InnoDB 就是作為默認的存儲引擎。InnoDB 還引入了行級鎖定和外鍵約束。

在以下場合下,使用 InnoDB 是最理想的選擇:

1. 更新密集的表。InnoDB 存儲引擎特別適合處理多重并發的更新請求。

2. 事務。InnoDB 存儲引擎是支持事務的標準 MySQL 存儲引擎。

3. 自動災難恢復。與其它存儲引擎不同,InnoDB 表能夠自動從災難中恢復。

4. 外鍵約束。MySQL 支持外鍵的存儲引擎只有 InnoDB。

5. 支持自動增加列 AUTO_INCREMENT 屬性。 

一般來說,如果需要事務支持,并且有較高的并發讀取頻率,InnoDB 是不錯的選擇。

2)MyISAM

MyISAM 不支持事務,也不支持外鍵,尤其是訪問速度快,對事務完整性沒有要求或者以 SELECT、INSERT 為主的應用基本都可以使用這個引擎來創建表。每個 MyISAM 在磁盤上存儲成 3 個文件,其中文件名和表名都相同,但是擴展名分別為:

.frm(存儲表定義)

.MYD(MYData,存儲數據)

.MYI(MYIndex,存儲索引)

3)MEMORY

使用 Memory 存儲引擎的出發點是速度。為得到最快的響應時間,采用的邏輯存儲介質是系統內存。雖然在內存中存儲表數據確實會提供很高的性能,但當 mysqld 守護進程崩潰時,所有的 Memory 數據都會丟失。獲得速度的同時也帶來了一些缺陷。它要求存儲在 Memory 數據表里的數據使用的是長度不變的格式,這意味著不能使用 BLOB 和 TEXT 這樣的長度可變的數據類型,VARCHAR 是一種長度可變的類型,但因為它在 MySQL 內部當做長度固定不變的 CHAR 類型,所以可以使用。

一般在以下幾種情況下使用 Memory 存儲引擎:

1. 目標數據較小,而且被非常頻繁地訪問。在內存中存放數據,所以會造成內存的使用,可以通過參數 max_heap_table_size 控制 Memory 表的大小,設置此參數,就可以限制 Memory 表的最大大小。

2. 如果數據是臨時的,而且要求必須立即可用,那么就可以存放在內存表中。

3. 存儲在 Memory 表中的數據如果突然丟失,不會對應用服務產生實質的負面影響。

3. 如何選擇合適的存儲引擎?

可以按照下列判斷來選擇

(1)是否需要支持事務;

(2)是否需要使用熱備;

(3)崩潰恢復:能否接受崩潰;

(4)是否需要外鍵支持;

然后按照標準,選擇對應的存儲引擎即可。

感謝各位的閱讀,以上就是“MySQL 數據庫存儲引擎的分類有哪些”的內容了,經過本文的學習后,相信大家對 MySQL 數據庫存儲引擎的分類有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-18發表,共計1671字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 虹口区| 达州市| 青田县| 三河市| 南投市| 大同县| 尼勒克县| 天台县| 浮山县| 济宁市| 柳州市| 玉环县| 思茅市| 资溪县| 潜江市| 稷山县| 苍梧县| 平安县| 金乡县| 高淳县| 界首市| 梅州市| 辉县市| 五台县| 开原市| 察哈| 固原市| 临武县| 友谊县| 天水市| 正镶白旗| 伊宁县| 嘉义县| 松江区| 晋宁县| 夹江县| 景宁| 麟游县| 中牟县| 内乡县| 洛浦县|