真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql存儲引擎之間的區(qū)別有哪些

這篇文章主要講解了“MySQL存儲引擎之間的區(qū)別有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“mysql存儲引擎之間的區(qū)別有哪些”吧!

創(chuàng)新互聯(lián)建站主營龍?zhí)毒W(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā)公司,龍?zhí)秇5小程序開發(fā)搭建,龍?zhí)毒W(wǎng)站營銷推廣歡迎龍?zhí)兜鹊貐^(qū)企業(yè)咨詢

mysql存儲引擎之間的區(qū)別:1、MyISAM不支持事務(wù),不支持行級鎖,而InnoDB則支持事務(wù)和行級鎖;2、InnoDB支持MVCC,支持外鍵,而MyISAM不支持MVCC和外鍵。

千萬級數(shù)據(jù)并發(fā)如何處理?進入學(xué)習(xí)

本教程操作環(huán)境:windows10系統(tǒng)、mysql8.0.22版本、Dell G3電腦。

mysql存儲引擎之間的區(qū)別

  • InnoDB支持事物,而MyISAM不支持事物

  • InnoDB支持行級鎖,而MyISAM支持表級鎖

  • InnoDB支持MVCC, 而MyISAM不支持

  • InnoDB支持外鍵,而MyISAM不支持

mysql中myisam,innodb和memory三個存儲引擎

1、區(qū)別:

1) MyISAM管理非事務(wù)表。提供高速存儲和檢索,以及全文搜索能力。MyISAM在所有MySQL配置里被支持,是默認(rèn)的存儲引擎,除非配置MySQL默認(rèn)使用另外一個引擎。

2)MEMORY存儲引擎提供“內(nèi)存中”表。MERGE存儲引擎允許集合將被處理同樣的MyISAM表作為一個單獨的表。就像MyISAM一樣,MEMORY和MERGE存儲引擎處理非事務(wù)表,這兩個引擎也都被默認(rèn)包含在MySQL中。

注釋:MEMORY存儲引擎正式地被確定為HEAP引擎。

3)InnoDB和存儲引擎提供事務(wù)安全表,默認(rèn)被包括在所 有MySQL 5.1二進制分發(fā)版里,可以按照喜好通過配置MySQL來允許或禁止任一引擎。

2、功能點簡介

1)MyISAM存儲引擎

MyISAM存儲引擎不支持事務(wù),不支持行級鎖,只支持并發(fā)插入的表鎖,主要用于高負(fù)載的select。

myisam類型的表支持三種不同的存儲結(jié)構(gòu):靜態(tài)型、動態(tài)型、壓縮型。

(1)靜態(tài)型:就是定義的表列的大小是固定(即不含有:xblob、xtext、varchar等長度可變的數(shù)據(jù)類型),這樣mysql就會自動使用靜態(tài)myisam格式。

使用靜態(tài)格式的表的性能比較高,因為在維護和訪問的時候以預(yù)定格式存儲數(shù)據(jù)時需要的開銷很低。但是這高性能是有空間換來的,因為在定義的時候是固定的,所以不管列中的值有多大,都會以最大值為準(zhǔn),占據(jù)了整個空間。

(2)動態(tài)型:如果列(即使只有一列)定義為動態(tài)的(xblob, xtext, varchar等數(shù)據(jù)類型),這時myisam就自動使用動態(tài)型,雖然動態(tài)型的表占用了比靜態(tài)型表較少的空間,但帶來了性能的降低,因為如果某個字段的內(nèi)容發(fā)生改變則其位置很可能需要移動,這樣就會導(dǎo)致碎片的產(chǎn)生。隨著數(shù)據(jù)變化的怎多,碎片就會增加,數(shù)據(jù)訪問性能就會相應(yīng)的降低。

(3)壓縮型:如果在這個數(shù)據(jù)庫中創(chuàng)建的是在整個生命周期內(nèi)只讀的表,則這種情況就是用myisam的壓縮型表來減少空間的占用。

2)MEMORY存儲引擎:

(1)memory存儲引擎相比前面的一些存儲引擎,有點不一樣,其使用存儲在內(nèi)從中的數(shù)據(jù)來創(chuàng)建表,而且所有的數(shù)據(jù)也都存儲在內(nèi)存中。

(2)每個基于memory存儲引擎的表實際對應(yīng)一個磁盤文件,該文件的文件名和表名是相同的,類型為.frm。該文件只存儲表的結(jié)構(gòu),而其數(shù)據(jù)文件,都是存儲在內(nèi)存中,這樣有利于對數(shù)據(jù)的快速處理,提高整個表的處理能力。

(3)memory存儲引擎默認(rèn)使用哈希(HASH)索引,其速度比使用B-+Tree型要快,如果讀者希望使用B樹型,則在創(chuàng)建的時候可以引用。

(4)memory存儲引擎文件數(shù)據(jù)都存儲在內(nèi)存中,如果mysqld進程發(fā)生異常,重啟或關(guān)閉機器這些數(shù)據(jù)都會消失。所以memory存儲引擎中的表的生命周期很短,一般只使用一次。

3)innoDB存儲引擎:

(1) innodb存儲引擎該mysql表提供了事務(wù),回滾以及系統(tǒng)崩潰修復(fù)能力和多版本迸發(fā)控制的事務(wù)的安全。

(2)innodb支持自增長列(auto_increment),自增長列的值不能為空,如果在使用的時候為空的話怎會進行自動存現(xiàn)有的值開始增值,如果有但是比現(xiàn)在的還大,則就保存這個值。

(3)innodb存儲引擎支持外鍵(foreign key) ,外鍵所在的表稱為子表而所依賴的表稱為父表。

(4)innodb存儲引擎最重要的是支持事務(wù),以及事務(wù)相關(guān)聯(lián)功能。

(5)innodb存儲引擎支持mvcc的行級鎖。

感謝各位的閱讀,以上就是“mysql存儲引擎之間的區(qū)別有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對mysql存儲引擎之間的區(qū)別有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!


名稱欄目:mysql存儲引擎之間的區(qū)別有哪些
新聞來源:http://weahome.cn/article/jcoiie.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部