我有很多VARCHAR
,TINYTEXT
和TEXT
字段的巨型表格。由於我不是MySQL數據庫的專家,我最近遇到了這個頁面InnoDB Table Compression的MySQL數據庫的壓縮功能。在我的實時數據庫上測試MySQL壓縮
我已經搜索並閱讀多個頁面,並遇到了,我需要設置以下參數以及這些變化適用於我my.cnf
:
innodb_file_per_table=1; (this is already set)
innodb_file_format=Barracuda;
和表結構:
...
ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=8; (possibly I need to do a trial-and-error to find a
better key_block_size that fits better to my case)
所以,我想首先測試一下,看看這種壓縮會如何讓我在桌面尺寸上受益,並希望更好地管理我的空間。爲了做這個測試,我將生成一個帶有幾百或幾千行原始表格的示例表格,並進行試驗和性能測量。
由於這將是一個測試過程,由於我沒有任何其他服務器來做測試,所以我不想冒任何風險。
這裏是我的問題:
如果我改變我目前的服務器上我my.cnf
文件(通過增加innodb_file_format=Barracuda;
),並重新啓動服務器將它必須有ROW_FORMAT=COMPACT
在我現有的表/數據有什麼影響?
我找不到任何地方回答/提到這一點,所以在此先感謝。
因此,通過這你的意思是會有我現在的表和數據沒有傷害和/或效果,如果我只設置'innodb_file_format =梭子魚;''在my.cnf'(或做'SET GLOBAL innodb_file_format =梭子魚;')?如果是的話,我會很好的開始我的測試:) – SAVAFA
我相信這是真的。但是如果你做了進一步的研究,在一個單獨的系統中測試它等等,我從來沒有冒犯過。 –
謝謝,它按預期工作。在my.cnf中設置'innodb_file_format = Barracuda'後,我現在可以在PMA中使用所有四種文件格式。這意味着使用'ROW_FORMAT = COMPACT'不會對我現有的表產生任何影響 – SAVAFA