Reputation: 3172
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
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
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
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