Met
Met

Reputation: 3172

MySQL Maximum Row Length - Possible to increase?

I was wondering if it is possible to increase the maximum row length of MySQL with InnoDB engine. The current is 8KB.

I would also like to know what enforces this limitation. I do not remember having such a limitation with Oracle 10 or MSSQL 2005.

Thank you!

Upvotes: 4

Views: 9319

Answers (3)

Frank Heikens
Frank Heikens

Reputation: 127576

You have to change the inno_db_page_size, check http://www.mysqlperformanceblog.com/2006/06/04/innodb-page-size/ It can be 8K, 16K, 32K or 64K, 16K is the default.

Upvotes: 4

dogbane
dogbane

Reputation: 274888

This is a restriction on InnoDB tables and cannot be changed. According to the docs:

The maximum row length, except for variable-length columns (VARBINARY, VARCHAR, BLOB and TEXT), is slightly less than half of a database page. That is, the maximum row length is about 8000 bytes.

You will have to think about redesigning your table.

Upvotes: 0

Tim Büthe
Tim Büthe

Reputation: 63814

MS SQL Server has this limitation as well. To get around this, you may use LOBs (like CLOB, BLOB, TEXT, etc) since they are not part of the record itself.

Alternatively you may split your table into two tables linked 1:1. Maybe you could give some background what you try to achieve and why your table is that big.

Upvotes: 1

Related Questions