innodb COMPRESSED中的Mysql KEY_BLOCK_SIZE值注意事项

时间:2016-11-21 08:51:04

标签: mysql compression innodb

尝试理解documentation以确定KEY_BLOCK_SIZE在mysql innodb表中对ROW_FORMAT = COMPRESSED的影响

  

当您为KEY_BLOCK_SIZE指定较小的值时,您将获得I / O.   越来越小的页面的好处。但是如果你指定一个值   这太小了,重新组织的额外开销   数据值无法压缩到足以适合多个页面时的页面   每页中的行。

有人可以详细说明1对8的KEY_BLOCK_SIZE值的优缺点,有些容易与示例相关吗?如果我的行大小将小于1kb,KEY_BLOCK_SIZE = 1总能提供更好的IO吗?如果我的key_block_size将大多少于1kb,这是否重要?语句“数据值无法压缩到足以容纳多行” - 多行是多少行?为什么它不适合1排?我甚至感到困惑,这是否与索引大小或实际行大小有关。

1 个答案:

答案 0 :(得分:0)

看看你的CREATE TABLE;看看需要多大的一排。如果你使这些块太小,你将达到另一个极限。

请记住,InnoDB的COMPRESSED很少会产生超过2倍的缩减,并且需要花费很多才能获得它。

我没有你想要的答案。相反,我们可以追求“真正的”问题。是磁盘占用空间吗?是I / O吗?这是其他一些绩效指标吗?可能有其他解决方案可行。请提供SHOW CREATE TABLE和一些查询。另外,稍微描述一下数据。