【发布时间】:2011-02-03 11:44:49
【问题描述】:
我想知道是否可以使用 InnoDB 引擎增加 MySQL 的最大行长度。当前为 8KB。
我还想知道是什么强制执行了此限制。我不记得 Oracle 10 或 MSSQL 2005 有这样的限制。
谢谢!
【问题讨论】:
我想知道是否可以使用 InnoDB 引擎增加 MySQL 的最大行长度。当前为 8KB。
我还想知道是什么强制执行了此限制。我不记得 Oracle 10 或 MSSQL 2005 有这样的限制。
谢谢!
【问题讨论】:
你要更改inno_db_page_size,检查http://www.mysqlperformanceblog.com/2006/06/04/innodb-page-size/ 可以是8K、16K、32K或64K,默认是16K。
【讨论】:
MS SQL Server 也有这个限制。为了解决这个问题,您可以使用 LOB(如 CLOB、BLOB、TEXT 等),因为它们不是记录本身的一部分。
或者,您可以将表拆分为 1:1 链接的两个表。也许您可以提供一些背景知识,以及您尝试实现的目标以及为什么您的桌子那么大。
【讨论】:
这是对 InnoDB 表的限制,不能更改。根据docs:
最大行长,除了 可变长度列(VARBINARY, VARCHAR、BLOB 和 TEXT),略 不到数据库页面的一半。 也就是说,最大行长是 大约 8000 字节。
您将不得不考虑重新设计您的桌子。
【讨论】: