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

MySQL數(shù)據(jù)庫存儲(chǔ)引擎的分類有哪些

共計(jì) 1671 個(gè)字符,預(yù)計(jì)需要花費(fèi) 5 分鐘才能閱讀完成。

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

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

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

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

2. 存儲(chǔ)引擎的分類

MySQL 默認(rèn)配置了許多不同的存儲(chǔ)引擎,可以預(yù)先設(shè)置或者在 MySQL 服務(wù)器中啟用,我們可以根據(jù)對數(shù)據(jù)處理的需求,選擇不同的存儲(chǔ)引擎,從而最大限度的利用 MySQL 強(qiáng)大的功能。

在客戶端使用相關(guān)命令顯示所有存儲(chǔ)引擎:show engines;

這里介紹一下常用的存儲(chǔ)引擎

1)innoDB

InnoDB 是一個(gè)健壯的事務(wù)型存儲(chǔ)引擎,這種存儲(chǔ)引擎已經(jīng)被很多互聯(lián)網(wǎng)公司使用,為用戶操作非常大的數(shù)據(jù)存儲(chǔ)提供了一個(gè)強(qiáng)大的解決方案。InnoDB 就是作為默認(rèn)的存儲(chǔ)引擎。InnoDB 還引入了行級(jí)鎖定和外鍵約束。

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

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

2. 事務(wù)。InnoDB 存儲(chǔ)引擎是支持事務(wù)的標(biāo)準(zhǔn) MySQL 存儲(chǔ)引擎。

3. 自動(dòng)災(zāi)難恢復(fù)。與其它存儲(chǔ)引擎不同,InnoDB 表能夠自動(dòng)從災(zāi)難中恢復(fù)。

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

5. 支持自動(dòng)增加列 AUTO_INCREMENT 屬性。 

一般來說,如果需要事務(wù)支持,并且有較高的并發(fā)讀取頻率,InnoDB 是不錯(cuò)的選擇。

2)MyISAM

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

.frm(存儲(chǔ)表定義)

.MYD(MYData,存儲(chǔ)數(shù)據(jù))

.MYI(MYIndex,存儲(chǔ)索引)

3)MEMORY

使用 Memory 存儲(chǔ)引擎的出發(fā)點(diǎn)是速度。為得到最快的響應(yīng)時(shí)間,采用的邏輯存儲(chǔ)介質(zhì)是系統(tǒng)內(nèi)存。雖然在內(nèi)存中存儲(chǔ)表數(shù)據(jù)確實(shí)會(huì)提供很高的性能,但當(dāng) mysqld 守護(hù)進(jìn)程崩潰時(shí),所有的 Memory 數(shù)據(jù)都會(huì)丟失。獲得速度的同時(shí)也帶來了一些缺陷。它要求存儲(chǔ)在 Memory 數(shù)據(jù)表里的數(shù)據(jù)使用的是長度不變的格式,這意味著不能使用 BLOB 和 TEXT 這樣的長度可變的數(shù)據(jù)類型,VARCHAR 是一種長度可變的類型,但因?yàn)樗?MySQL 內(nèi)部當(dāng)做長度固定不變的 CHAR 類型,所以可以使用。

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

1. 目標(biāo)數(shù)據(jù)較小,而且被非常頻繁地訪問。在內(nèi)存中存放數(shù)據(jù),所以會(huì)造成內(nèi)存的使用,可以通過參數(shù) max_heap_table_size 控制 Memory 表的大小,設(shè)置此參數(shù),就可以限制 Memory 表的最大大小。

2. 如果數(shù)據(jù)是臨時(shí)的,而且要求必須立即可用,那么就可以存放在內(nèi)存表中。

3. 存儲(chǔ)在 Memory 表中的數(shù)據(jù)如果突然丟失,不會(huì)對應(yīng)用服務(wù)產(chǎn)生實(shí)質(zhì)的負(fù)面影響。

3. 如何選擇合適的存儲(chǔ)引擎?

可以按照下列判斷來選擇

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

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

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

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

然后按照標(biāo)準(zhǔn),選擇對應(yīng)的存儲(chǔ)引擎即可。

感謝各位的閱讀,以上就是“MySQL 數(shù)據(jù)庫存儲(chǔ)引擎的分類有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對 MySQL 數(shù)據(jù)庫存儲(chǔ)引擎的分類有哪些這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-17發(fā)表,共計(jì)1671字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評(píng)論(沒有評(píng)論)
主站蜘蛛池模板: 嘉善县| 庆云县| 霍州市| 南雄市| 南开区| 兖州市| 平定县| 富源县| SHOW| 鹤峰县| 平阴县| 莆田市| 绥滨县| 长泰县| 临朐县| 涞源县| 梅河口市| 文化| 吉林市| 南召县| 河南省| 平陆县| 洪泽县| 晴隆县| 郴州市| 定安县| 壶关县| 榆树市| 浠水县| 华蓥市| 伊宁县| 天门市| 安化县| 涞水县| 龙游县| 买车| 蚌埠市| 汾阳市| 当阳市| 罗甸县| 古田县|