MySQL 5.5 的COMPRESSED INNODB 表 |
發(fā)布時間: 2012/9/5 17:16:38 |
MySQL從5.5開始,INNODB 引擎也可以像MYISAM引擎一樣來進行壓縮了。 當然壓縮后的表沒事你也別INSERT 或者 UPDATE了。 DELETE 就無所謂了,只是MARK下,完了再批量刪除。 這點和BRIGHTHOUSE 引擎倒是一致。 當然了, 并不是所有的表都適合壓縮,然后進行讀取。 應用場景,數據的分布,以及硬件的資源都制約了是否要進行壓縮。這個時候來說,最好的辦法就是進行壓力測試,看看是否適合你自己的業(yè)務。-
1. 壓縮表只針對單表空間有效,所以設置如下參數: innodb_file_per_table innodb_file_format = Barracuda 2. 建表OPTIONS。 ROW_DATEFORMAT = COMPRESSED KEY_BLOCK_SIZE = (1,2,4,8,16.) 至于到底設置多少KEY_BLOCK_SIZE大小合適,取決于要進行壓縮的表數據分布。簡單來說,可以用同樣的數據,插入不同結構的表, 完了查看磁盤上表的大小就OK。 3. 還有一個要注意的。 設置了INNODB的壓縮表,那么你的INNODB_BUFFER_POOL_SIZE 至少應該是以前的兩倍大小。 因為在緩沖池里面要保留兩份SIZE不同但是數據一致的PAGE。這樣,增加了對內存的開銷。
本文出自:億恩科技【1tcdy.com】 |