欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

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

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

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

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

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

本教程操作環(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管理非事務表。提供高速存儲和檢索,以及全文搜索能力。MyISAM在所有MySQL配置里被支持,是默認的存儲引擎,除非配置MySQL默認使用另外一個引擎。

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

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

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

2、功能點簡介

1)MyISAM存儲引擎

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

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

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

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

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

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

2)MEMORY存儲引擎:

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

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

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

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

3)innoDB存儲引擎:

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

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

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

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

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

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

本文標題:mysql存儲引擎之間的區(qū)別有哪些
路徑分享:http://www.chinadenli.net/article4/jcoiie.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)用戶體驗Google外貿(mào)網(wǎng)站建設微信小程序品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名