Every database has a limit on the maximum size that can be taken by a single row and for MySQL, that limit is 6465,000 535 bytes. This does not mean that a record is limited in size to 64K 64kb because the database may store most of the data in internal tables. For example, a Text field can store 10M of data, but only takes up nine 11 bytes in the row with a pointer to the internal table where the data is actually stored. For another example, a Choice field set to "supercalifragilisticexpialidocious" still takes up only four bytes in the viewable table that the user edits, because it is represented by an integer that is then converted to text using an internal table.
However, it is still possible to hit the 64K 64kb limit with very complex tables if they are not carefully designed. When creating complex tables where the 64k 64kb limit is a concern, you can take these steps to minimize the space used:
...
Field Type | MySQL Datatype | Size in bytes | Comments |
---|---|---|---|
varchar(70) | Maximum field length * 3 + 2 Default: 212 | Maximum field length is specified by admin, default is 70 | |
Text | mediumtext | 911 | |
Telephone/fax | varchar(70) | Maximum field length * 3 + 2 Default: 212 | Maximum field length is specified by admin, default is 70 |
Type of the SW object | bigint(20) | 8 | |
Date/Time | datetime | 8 | |
Short Text | varchar(255) | Maximum field length * 3+2 Default: 212 767 | Maximum field length is specified by admin, default is 70255 |
Append Only Text | mediumtext | 911 | |
Password | varchar(128) | Maximum field length * 3 + 2 Default: 386 | Maximum field length is specified by admin, default is 128 |
Integer | int(10) | 4 | |
Currency | double | 8 | |
Email Pager | varchar(70) | Maximum field length * 3 + 2 Default: 212 | Maximum field length is specified by admin, default is 70 |
Elapsed Time | bigint(20) | 8 | |
File With Versioning | mediumtext | 911 | |
Floating point | double | 8 | |
Heat Bar | int(10) | 4 | |
Image with Versioning | mediumtext | 911 | |
Linked Logical Name | bigint(20) | 8 | |
Long Integer | bigint(20) | 8 | |
Percentage | double | 8 | |
Time | time | 3 | |
URL | mediumtext | 911 | |
Variable Formula | mediumtext | 911 | |
Singleton check | int(10) | 4 | |
Windows management instrumentation field | mediumtext | 911 | |
Multi Choice | varchar(255) | 255 * 3 + 2 = 767 | |
Choice | integer | 4 | |
Linked Field (MVE+fast search) | mediumtext | 9 11 * number of imported fields | |
Linked Field (MVE+no fast search) | 0 | No physical column created in the viewable table | |
Linked Field(other types) | Source field length | Same data type and length as the source field | |
Compound | varchar(x) | Maximum field length * 3+2 Default: 299 | Maximum field length is specified by admin, default is 99 |
Calculated Result | double | 8 | |
Communications Search Result | 0 | No physical column created in the viewable table | |
History | 2 * length of tracked fields | No physical column created in the viewable table, but History stores the value of tracked fields, before and after each edit, in an internal table. This internal table may encounter the 64K limit if a lot of fields are tracked. | |
Action Button | 0 | No physical column created in the viewable table |
...