亚洲女同成aV人片在线观看|亚洲www啪成人一区二区麻豆|亚洲国产中日韩精品综合|亚洲国产成人精品一级片|亚洲无码在线视频免费

MySQL選擇合適的存儲引擎
發(fā)布時(shí)間:2026-05-05 07:00:43

這篇文章主要介紹了MySQL如何選擇合適的擇合存儲引擎,幫助大家更好的存ヾ(′ω`)?儲理解和使用MySQL數據庫,(′▽?zhuān)?感興趣的引擎朋友可以了解下

對于數據庫這一塊詢(xún)問(wèn)比較多的就是在 MySQL 中怎么去選擇一種何時(shí)當前業(yè)務(wù)需求的存儲引擎,而 MySQL 中支持的擇合存儲引擎又有很多種,那么 MySQL 中分別又有那些,存儲怎么優(yōu)雅的引擎使用呢?

劃分引擎原因

在??文件系統中,MySQL 將每個(gè)數據庫(也可以稱(chēng)之為 schemヽ(′ー`)ノa )保存為數據目錄下的擇合一個(gè)子目錄。創(chuàng )建表時(shí),存儲MySQL 會(huì )在數據庫子目錄下創(chuàng )建一個(gè)和表同名的引擎 .frm 文(wen)件保存表的定義。例如創(chuàng )建一個(gè)名為 DebugTable 的擇合表,MySQヽ(′ー`)ノL 會(huì )在 DebugTable.frm 文件中保存該表的存儲定義。

因為 MySQL 使用文件系(°ロ°) !統的引擎目錄和文件來(lái)??保存數據庫和表的定義,大小寫(xiě)敏??感性和具體的擇合平臺密切相關(guān)。在 Windows 系統中,存儲大小寫(xiě)是引擎不敏感的;而在類(lèi) Unix 系統中則是敏感的。不同的存儲引擎??保存數據和索引的方式是不同的,但表的定義則是在 MySQL 服務(wù)層wk統一處理的。

查看支持引擎

想了解 MySQL 中支持的引擎的???情況,可以使用如下命令查看:

結果如下(MySQL版本:Ver 8.0.19):

mysql> show engines;

+--------------------+---------+----------------------------------------------------------------+--------------+------+------(???)------+

| Engine | Support | Comment | Transactions | XA | Savepoints |

+--------------------+-----??----+------------------------??----??-----------------------------??-------+--------------+------+--(??ヮ?)?*:???----------+

| FEDERATED | NO | Federated MySQL storagヽ(′ー`)ノe engine | NULL | NULL | NULL |

| MEMORY?? | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |

| InnoDB | DEFAUL??T(//ω//) | Supports transactions, ro??w-level locking, and foreig(′?`*)n keys | YES | YES | YES |

| PERFORMANCE_SCHEMA | YES | Performance(′?_?`) Schema | NO | NO?? | NO |

| MyISAM | YES | MyISAM storage engine | NOヽ(′▽?zhuān)?/ | NO | NO |

| MRG_MYISAM | YES | Collection of identicaヽ(′▽?zhuān)?ノl MyISAM tables | NO | NO | NO |

| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |

| CSV | YES | CSV storage engine | NO | NO | NO |

| ARCHIVE | YES | Archive storage engine | NO | NO | NO |

+----(′?_?`)--------ヽ(′▽?zhuān)?ノ--------+---------+-----------------??-----------------------------------------------+--------------+------+------------+

9 rows in set (0.00 sec)

存儲引擎分類(lèi)

MySQL 存儲引擎分類(lèi)(lei)有 MyISAM、InnoDB、Memory、Merge等,可以看上面表中列出的支持引擎,但是其中最為常用的就是 MyISAM 和 InnoDB 兩個(gè)引擎,其中針對于以上講到的存儲引擎,如下表進(jìn)行對比:

MyISAM 與 InnoDB 區別

兩種類(lèi)型最主ヾ(′ω`)?要的差別是Inno??DB支持事務(wù)處理與外鍵和行??級鎖。

InnoDB 可借由事務(wù)日志( Trans??action Log )來(lái)恢復程??序崩潰( crash ),或非預期結束所造成的數據錯誤;而 MyISAM 遇到錯誤,必須完整掃描后才能重建索引,或修正未寫(xiě)入硬盤(pán)的錯誤。

相對而言,隨著(zhù)數據量的增加,InnoDB? 會(huì )有較佳的穩定性(xing)。

MyISAM 必須依靠操作系統來(lái)管理讀取與寫(xiě)入的緩存(cun),而 InnoDB 則是有自己的讀寫(xiě)緩存管理(li)機制。( InnoDB 不會(huì )將被修改的數據頁(yè)立即交給操作系統)因此在某些情況下,InnoDB 的數據訪(fǎng)問(wèn)會(huì )比 MyISAM 更(geng)有效率。

InnoDB 目前并不支持?? MyISAM 所提供的壓縮與 terse row?? formats(簡(jiǎn)潔的行格式) ,所以對硬盤(pán)與高速緩存的使用量較大。

當操作完全兼容 ACID(事務(wù))時(shí),雖然 InnoDB 會(huì )自動(dòng)合并數筆連接,但每次有事務(wù)產(chǎn)生時(shí),仍至少須寫(xiě)入硬盤(pán)一次,因此對于某些硬盤(pán)或磁盤(pán)陣列,會(huì )造成每秒 200 次的事務(wù)處理上限。若希望達到更高的性能且保持事務(wù)的完整性,就必使用磁盤(pán)緩存與電池備援。當然 InnoDB 也提供數種對性能沖擊較低的模式,但相對的也會(huì )降低事務(wù)的完整性。而MyI( ?ヮ?)SAM則無(wú)此問(wèn)題,但這并非因為它(ta)比較先進(jìn),??這只是因為(wei)它不支持事務(wù)。

應用場(chǎng)景

MyISAM 管理非事務(wù)表。它提供高速存?儲和檢索,以及全文搜索能力。如果應用中需要執行大量的 SELECT 查詢(xún),那么 MyISAM 是更好的選擇。

Inno??DB 用于事務(wù)處理(╬?益?)應用程序,具有眾多特性,包括 ACID 事務(wù)支持。如果應用中需要執行大量的 INSERT 或 UPDATE 操作,則應該使用 InnoDB,這樣可以提高多用戶(hù)并發(fā)操作的性能。

以上就是MySQL 存儲引擎的選擇的詳細內容,更多關(guān)于MySQL 存儲引擎的資料請關(guān)注腳本之家其它相關(guān)文章!

來(lái)源:腳本之家

鏈接:https://www.jb51.net/article/19(′▽?zhuān)?5??413.htm

亚洲女同成aV人片在线观看|亚洲www啪成人一区二区麻豆|亚洲国产中日韩精品综合|亚洲国产成人精品一级片|亚洲无码在线视频免费 朝阳市| 文化| 龙门县| 惠东县| 闻喜县| 冕宁县| 长垣县| 山西省| 溆浦县| 安国市| 团风县| 巨鹿县| 济南市| 赫章县| 广灵县| 清流县| 蕲春县| 大渡口区| 顺平县| 法库县| 郧西县| 芒康县| 洛隆县| 申扎县| 施秉县| 定安县| 读书| 弥渡县| 福贡县| 天峨县| 仙桃市| 嘉善县| 香河县| 合作市| 易门县| 东方市| 青田县| 台南市| 瑞丽市| 含山县| 聂拉木县| http://444 http://444 http://444 http://444 http://444 http://444