Mysql

MySQL 是否可以選擇壓縮記憶體中的數據?

  • July 3, 2009

今天早上我被介紹了壓縮數據庫記憶體的概念,以便在給定數量的 RAM 中允許更大的記憶體。我了解 Microsoft SQL 2008 提供了此功能。

我想知道 MySQL 是否有類似的功能可用?

我害怕它沒有。

它可以在複製時壓縮數據

.. 並且有新的innodb 儲存外掛可以進行數據壓縮

但不是在記憶體中。據我所知。

但是,如果您處理 blob - 只需將它們壓縮儲存 [使用mysql 函式甚至您的外部應用程序] - 我在其中一個項目中進行。通過這種方式,記憶體在記憶體中並儲存在磁碟上的數據被壓縮;在我的情況下,它是應用層解壓縮它的角色。

它取決於發動機。每個引擎都實現自己的記憶體(除非您計算查詢記憶體,這在大多數情況下並不是真正有用的)。

使用壓縮並擁有自己的塊記憶體系統的引擎,例如 InnoDB-plugin 或 Falcon,可能會自動執行此操作。那是因為它們以塊儲存在磁碟上的格式記憶體,這意味著壓縮。

HEAP(記憶體中)引擎不做壓縮(事實上,標準的 HEAP 引擎效率很低,它不支持變長行)

使用作業系統記憶體的引擎將以它們將數據保存在磁碟上的任何形式進行記憶體,例如,存檔引擎(使用磁碟壓縮)因此會將壓縮塊保存在作業系統的記憶體中。

引用自:https://serverfault.com/questions/35262