【问题标题】:Mysql KEY_BLOCK_SIZE value considerations in innodb COMPRESSEDInnodb COMPRESSED 中 Mysql KEY_BLOCK_SIZE 值注意事项
【发布时间】:2017-04-04 14:28:30
【问题描述】:

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

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

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

【问题讨论】:

    标签: mysql compression innodb


    【解决方案1】:

    看看你的CREATE TABLE;看看一行需要多大。如果你把积木做得太小,你会达到另一个极限。

    请记住,InnoDB 的 COMPRESSED 很少提供超过 2 倍的收缩率,而且要花很多钱才能得到它。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-16
      • 1970-01-01
      • 1970-01-01
      • 2011-10-18
      相关资源
      最近更新 更多