【问题标题】:MySQL Maximum Row Length - Possible to increase?MySQL 最大行长度 - 可以增加吗?
【发布时间】:2011-02-03 11:44:49
【问题描述】:

我想知道是否可以使用 InnoDB 引擎增加 MySQL 的最大行长度。当前为 8KB。

我还想知道是什么强制执行了此限制。我不记得 Oracle 10 或 MSSQL 2005 有这样的限制。

谢谢!

【问题讨论】:

标签: mysql innodb row max


【解决方案1】:

你要更改inno_db_page_size,检查http://www.mysqlperformanceblog.com/2006/06/04/innodb-page-size/ 可以是8K、16K、32K或64K,默认是16K。

【讨论】:

  • 我会疯狂地开始破解一个将被成千上万人使用的 RDBMS。我已经知道了。我想也许我可以通过一些配置来设置它。我还想知道是什么强制执行此限制。
【解决方案2】:

MS SQL Server 也有这个限制。为了解决这个问题,您可以使用 LOB(如 CLOB、BLOB、TEXT 等),因为它们不是记录本身的一部分。

或者,您可以将表拆分为 1:1 链接的两个表。也许您可以提供一些背景知识,以及您尝试实现的目标以及为什么您的桌子那么大。

【讨论】:

    【解决方案3】:

    这是对 InnoDB 表的限制,不能更改。根据docs

    最大行长,除了 可变长度列(VARBINARY, VARCHAR、BLOB 和 TEXT),略 不到数据库页面的一半。 也就是说,最大行长是 大约 8000 字节。

    您将不得不考虑重新设计您的桌子。

    【讨论】:

      猜你喜欢
      • 2011-02-12
      • 1970-01-01
      • 1970-01-01
      • 2014-08-08
      • 2023-02-24
      • 2023-02-15
      • 2017-05-07
      • 2019-08-05
      相关资源
      最近更新 更多