色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

Mysql數據庫引擎該如何選擇?

李中冰2年前14瀏覽0評論

Mysql作為一款關系型數據庫,其中優勢之一,便是支持存儲引擎可插拔。你可以結合具體的使用場景,來選擇特定的存儲引擎。比如你可以選擇InnoDB或者MyISAM存儲引擎。同時由于Mysql是一款開源數據庫,你也可以根據Mysql自定義的預留存儲引擎接口,自己開發實現新的存儲引擎。

Mysql中,不同的存儲引擎,都有各自的特點。Mysql數據庫存儲包括:InnoDB存儲引擎、MyISAM存儲引擎、NDB存儲引擎、Memory存儲引擎、Archive存儲引擎等。

01

如果需要支持在線事務處理場景,請選擇InnoDB存儲引擎

InnoDB存儲引擎最大的特點,便是支持事務,行鎖的設計,同時支持外鍵和MVCC。數據庫中的事務表示一段最小可執行SQL邏輯。事務可以包含多個SQL語句,也可以是一個SQL語句組成。

事務執行中,要么全部執行成功,要么全部執行失敗。事務的四個特性:原子性(事務是最小執行單位)、一致性(數據狀態總是從一個一致性狀態到另外一個一致性狀態)、隔離性(事務之間是隔離的)、持久性。數據庫事務經常會用在金融領域的場景,比如轉賬等。

所以,如果你的業務場景需要支持事務特性,那么你在使用Mysql時,需要選擇InnoDB存儲引擎來支持。InnoDB存儲引擎目前在很多公司也用的比較廣泛,比如Facebook、阿里等。

02

如果需要支持聯機分析場景,請選擇MyISAM存儲引擎

MyISAM存儲引擎不支持事務,它的最大的一個特點便是支持OLAP(聯機分析場景)。公司業務方經常會有這樣的需求,需要對數據進行聚合操作,比如對數據進行SUM(求和)、COUNT(計數)等指標類計算,對這部分數據分析,進一步分析數據的價值,為公司上層提供決策支持。此時Mysql數據庫可以選擇MyISAM存儲引擎來支持。

03

如果可以將數據臨時放到內存,希望訪問數據速度快,可以選擇Memory存儲引擎。如果需要對數據進行歸檔,請選擇Archive存儲引擎

Memory存儲引擎會將數據存儲到內存中,對于內存數據的訪問,其速度很快。當然有一個問題,如果我們的數據庫發生故障或者奔潰重啟時,內存中的數據會全部消失。

所以對于Memory存儲引擎,它適用的場景用于存儲臨時數據的臨時表以及數據維表到內存中,也可以使用Memory存儲引擎來存儲SQL查詢中的臨時結果表。

對于Archive存儲引擎,它非常適用于存儲歸檔的數據,比如存儲日志信息,這部分數據沒有那么重要,對其進行壓縮進一步降低磁盤的存儲空間。

我是Lake,專注大數據技術原理、人工智能、數據庫技術、程序員經驗分享,如果我的問答對你有幫助的話,希望你能點贊關注我,感謝。

我會持續大數據、數據庫方面的內容,如果你有任何問題,也私信我,我會認真解答每一個問題。期待您的關注