Re: Error while creating the table in InnoDB
I don't think there is a way to increase the limit. Perhaps there is one in the code, and you could raise it by recompiling.
Which error? Perhaps the nebulous one that says that the table _definition_ is too big. There is (I think) a limit of 64KB on the definition; this includes column names, ENUM values, etc.
100 FOREIGN KEYS is 100 checks during INSERTs. Sure, that keeps the referential integrity good. But it also costs performance.
100 columns in a table? The limit in InnoDB, I think, is 1000. But even 100 it quite clumsy.
Workaround:
Vertical partitioning. That is, look at which fields are used together and which are not, then split off the little-used fields into a parallel table. Or split off fields that are often NULL; this could lead to the new table having fewer rows. (LEFT JOIN can get back the NULLs.) Or split off the TEXT/BLOB fields.
Subject
Views
Written By
Posted
2318
May 07, 2010 12:05AM
Re: Error while creating the table in InnoDB
1008
May 08, 2010 09:30AM
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion
of Oracle or any other party.