幾種數(shù)據(jù)庫存儲引擎的對比

      網(wǎng)友投稿 703 2025-03-31

      Mysql存儲引擎簡介

      存儲引擎的概念是MySQL 的特點(diǎn),而且是一種插入式的存儲引擎概念。這決定了MySql數(shù)據(jù)庫中的表可以用不同的方式存倍。用戶可以根據(jù)自己的需求,選擇不同的存儲方式、是否進(jìn)行駛?cè)胩幚淼取?/p>

      使用SHOW ENGINES 語句杳看系統(tǒng)所支持的引擎類型

      結(jié)果中主要參數(shù)介紹如下。

      Engine參數(shù):指存儲引擎的名稱。

      Support參數(shù):說明MySQL是否支持該類引擎。

      Comment參數(shù):指對該引擎的評論。

      Transactions參數(shù):表示是否支持事務(wù)處理,YES表示可以使用,NO表示不能使用。

      XA參數(shù):表示是否分布式交易處理的XA規(guī)范,YES表示支持。

      Savepoints參數(shù):表示是否支持保存點(diǎn),以便事務(wù)回滾到保存點(diǎn),YES 表示支持。

      由查詢結(jié)果可以得出,MySQ1支持的存儲引擎有 InnoDB、MRG_MYISAM、MEMORY,PERFORMANCE SCHEMA、ARCHIVE、FEDERATED、CSV、BLACKHOLE、MyISAM,其中 InnoDB為默認(rèn)存儲引擎,該引擎的Support參數(shù)值為DEFAULT。

      InnoDB存儲引擎

      InnoDB是 MySOL 數(shù)據(jù)庫的一種存儲引擎,InnoDB給MySQL 數(shù)據(jù)表提供了事務(wù)、回歸.崩潰修復(fù)能力和多版本并發(fā)控制的事務(wù)安全,支持行鎖定和外鍵等。MySQL的默認(rèn)存儲引擎為InnoDB.InnoDB的主要特性如下:

      (1)InnoDB給 MySOL 提供了具有提交,回滾和崩潰恢復(fù)能力的事務(wù)安全(ACID兼容)存儲引擎。InnoDB鎖定在行級并且也在SELECT 語句提供一個類似Oracle的非鎖定讀。這些功能增加了多用戶部署和性能。在SOL查詢中,可以自由地將InnoDB類型的表與其他MySQL的表的類型混合起來,甚至在同一個查詢中也可以混合。

      (2)InnoDB是為處理巨大數(shù)據(jù)量時的最大性能設(shè)計(jì)。它的CPU 效率可能是任何其他基于磁盤的關(guān)系數(shù)據(jù)庫引擎所不能匹敵的。

      (3) InnoDB支持外鍵完整性約束(FOREIGN KEY)。存儲表中的數(shù)據(jù)時,每張表的存儲都按主鍵順序存放,如果沒有顯式的在表定義時指定主鍵,InnoDB 會為每一行生成一個6字節(jié)的ROWID,并以此作為主鍵。

      (4)InnoDB被用在眾多需要高性能的大型數(shù)據(jù)庫站點(diǎn)上。InnoDB 不創(chuàng)建目錄,使用 InnoDB時,MySQL將在MySQL數(shù)據(jù)目錄下創(chuàng)建一個名為 ibdatal的10MB 大小的自動擴(kuò)展數(shù)據(jù)文件,以及兩個名為ib_logfile0和ib_logfile1的5MB大小的日志文件。

      MyISAM存儲引擎

      MyISAM存儲引擎是 MySQL中常見的存儲引擎,曾是MySQL 的默認(rèn)存儲引擎,MyISAM存儲引擎是基于ISAM存儲引擎發(fā)展起來的,而且增加了很多有用的擴(kuò)展,如擁有較高的插入、查詢速度等,但是它不支持事務(wù),主要特性如下:

      (1)大文件(達(dá)63位文件長度)在支持大文件的文件系統(tǒng)和操作系統(tǒng)上被支持。

      (2)當(dāng)把刪除和更新及插入混合的時候,動態(tài)尺寸的行更少碎片。這要通過合并相鄰被刪除的塊,以及若下一個塊被刪除,就擴(kuò)展到下一塊來自動完成。

      (3)每個 MyISAM 表的最大索引數(shù)是64。這可以通過重新編譯來改變。每個索引最大的列數(shù)是16。

      (4)最大的鍵長度是1000字節(jié)。這也可以通過編譯來改變。對于鍵長度超過250字節(jié)的情況,使用一個超過1024字節(jié)的鍵塊。

      (5) BLOB和 TEXT列可以被索引。

      (6)NULL值被允許在索引的列中。

      (7)所有數(shù)字鍵值以高字節(jié)位先被存儲以允許一個更高的索引壓縮。

      (8)每表一個AUTO INCREMENT 列的內(nèi)部處理。MyISAM 為 INSERT 和 UPDATE操作自動更新這一列。這使得 AUTO INCREMENT 列更快(至少10%)。在序列頂?shù)闹当粍h除之后就不能再利用。

      (9)可以把數(shù)據(jù)文件和索引文件放在不同目錄。

      (10)每個字符列可以有不同的字符集。

      (11)有VARCHAR的表可以有固定或動態(tài)記錄長度。

      (12)VARCHAR 和 CHAR 列可以多達(dá)64KB。

      使用MyISAM引擎創(chuàng)建數(shù)據(jù)庫,將產(chǎn)生3個文件。文件的名字以表的名字開始,擴(kuò)展名指

      索引文件的擴(kuò)展名出文件類型:frm文件存儲表定義,數(shù)據(jù)文件的擴(kuò)展名為.MYD (MYData)

      MEMORY存儲引擎

      幾種數(shù)據(jù)庫存儲引擎的對比

      MEMORY存儲引擎是 MySQL中的一類特殊的存儲引擎,其使用存儲在內(nèi)存中的內(nèi)容來創(chuàng)建,而且所有數(shù)據(jù)也放在內(nèi)存中,這些特性都與 InnoDB存儲引擎、MyISAM 存儲引擎不同。MEMORY的主要特性如下:

      (1)MEMORY表可以有多達(dá)每個表32個索引,每個索引16列,以及500字節(jié)的最大鍵長度。

      (2)MEMORY 存儲引擎執(zhí)行HASH和 BTREE索引。(3)可以在一個MEMORY 表中有非唯一鍵。

      (4)MEMORY 表使用一個固定的記錄長度格式。(5)MEMORY 不支持BLOB或TEXT列。

      (6) MEMORY 支持AUTO INCREMENT 列和對可包含NULL值的列的索引。(7) MEMORY 表在所有客戶端之間共享(就像其他任何非TEMPORARY 表)。

      (8) MEMORY 表內(nèi)容被存在內(nèi)存中,內(nèi)存是 MEMORY 表和服務(wù)器在查詢處理之時的空閑中創(chuàng)建的內(nèi)部表共享。

      (9)當(dāng)不再需要 MEMORY 表的內(nèi)容之時,要釋放被MEMORY表使用的內(nèi)存,應(yīng)該執(zhí)行DELETE FROM或 TRUNCATE TABLE,或者整個地刪除表(使用 DROP TABLE)。

      存儲引擎的選擇

      不同存儲引擎都有各自的特點(diǎn),適用于不同的需求,為了做出選擇,首先需要考慮每一個存儲引擎提供了哪些不同的功能。

      InnoDB存儲引擎:如果要提供提交、回滾和崩潰恢復(fù)能力的事務(wù)安全(ACID兼容)能力,并要求實(shí)現(xiàn)并發(fā)控制,InnoDB存儲引擎是很好的選擇。

      MyISAM存儲引擎:如果數(shù)據(jù)表主要用來插入和查詢記錄,則 MyISAM引擎能提供較高的處理效率,因此MyISAM存儲引擎是首選。

      MEMORY 存儲引擎:如果只是臨時存放數(shù)據(jù),數(shù)據(jù)量不大,并且不需要較高的數(shù)據(jù)安全性,可以選擇將數(shù)據(jù)保存在內(nèi)存中的MEMORY引擎,MySQL 中使用 MEMORY存儲引擎作為臨時表存放查詢的中間結(jié)果。

      ARCHIVE存儲引擎:如果只有INSERT和 SELECT操作,可以選擇ARCHIVE引擎,ARCHIVE

      存儲引擎支持高并發(fā)的插入操作但具大自社不具事冬守全的。ARCHIVE 存儲引擎非常適合存儲歸檔數(shù)據(jù),如記錄日志信息可以使用ARCHIVE引擎。

      總之,使用哪一種引擎要根據(jù)需要靈活選擇,一個數(shù)據(jù)庫中的多個表可以使用不同的引擎以滿足各種性能和實(shí)際需求,使用合適的存儲引擎,將會對整個數(shù)據(jù)庫的性能有幫助。

      面對以上種種業(yè)務(wù)需求,華為云提供了針對性的解決方案,從兩條路出發(fā),實(shí)時保障游戲的平穩(wěn)運(yùn)行。

      數(shù)據(jù)庫

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:Excel插入超鏈接到sheet工作表的步驟
      下一篇:隱藏列后怎么不能取消隱藏(隱藏列之后怎么取消隱藏)
      相關(guān)文章
      亚洲.国产.欧美一区二区三区| 亚洲乱码在线观看| 精品久久久久亚洲| 亚洲a无码综合a国产av中文| 亚洲熟妇自偷自拍另欧美| 国产成人精品日本亚洲18图| 亚洲 欧洲 自拍 另类 校园| 久久亚洲精品国产亚洲老地址| 亚洲日本久久久午夜精品| 亚洲色成人网站WWW永久四虎| 亚洲色欲啪啪久久WWW综合网| 亚洲色精品VR一区区三区| 亚洲人成色在线观看| 亚洲国产美女精品久久久| 豆国产96在线|亚洲| 久久亚洲精品无码av| 亚洲成人影院在线观看| 亚洲色欲久久久久综合网| 国产亚洲美日韩AV中文字幕无码成人| 在线观看亚洲天天一三视| 国产亚洲精品va在线| 亚洲欧洲国产精品你懂的| 亚洲精品网站在线观看你懂的| 亚洲欧洲国产经精品香蕉网| 亚洲avav天堂av在线网爱情| 亚洲久热无码av中文字幕| 亚洲AV第一成肉网| 亚洲午夜精品一级在线播放放| 中国亚洲女人69内射少妇| 久久精品视频亚洲| 亚洲图片校园春色| 亚洲一区二区无码偷拍| 日韩色日韩视频亚洲网站| 亚洲日韩中文在线精品第一| 亚洲精品无码永久在线观看你懂的| 亚洲成AV人片在线播放无码| 亚洲精品不卡视频| 亚洲人成网站免费播放| 亚洲熟妇少妇任你躁在线观看无码| 国产精品亚洲аv无码播放| 亚洲人成网址在线观看|