- It is not possible to get proper relevance ranking for boolean fulltext results, or to normalize the relevance between 0 and 1. This can lead to imprecise fulltext results.
- MySQL has a 64 KB row size limit, which means that it is not possible to put more than a few long VARCHAR() columns in a table or a schema. This means any custom schemas created for Nuxeo have to be carefully defined to not contain too many string fields. (Note: MySQL is not alone in having row size limitations, and since Nuxeo 5.3 it's possible to use a
CLOBcolumn to work around the size limit by specifying the field as
<field type="largetext">; see NXP-3993.)
- In MySQL, equality tests for strings are case-insensitive. This means that some custom application queries may confuse uppercase and lowercase.
Limitations That Impact Performance
- The lack of array datatypes in the stored procedures language leads to poor ACL checking performance. This means that large data sets will have problems doing security checks efficiently.
- Triggers are not activated by cascaded foreign key actions (reference).
- Foreign key on delete cascade operations are limited to 15 levels deep, which means that recursive deletion of folders that deep cannot be done by the database alone (reference).
- Fulltext operations have concurrent behavior problems when there are writes due to MyISAM locking issues. This means that concurrent updates to different documents may end up causing user-visible errors. At this time, the locking impact is unknown for MySQL 5.6 and InnoDB fulltext tables.
- MySQL loses connections unexpectedly, which requires configuring
;autoReconnect=trueas a workaround, which could cause transaction problems. (It's better to configure MySQL with an near-infinite wait_timeout).
- Prior to MySQL 5.6, fulltext support was not transactional as fulltext required MyISAM tables (reference). Since MySQL 5.6 this is not a problem anymore, as InnoDB tables can be used (reference). See the InnoDB Full-text Search in MySQL 5.6 articles: part 1, part 2, part 3.
See also the limitations of other databases.