Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-17479

Create MySQL fulltext table with InnoDB

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 10.3
    • Component/s: Core VCS
    • Release Notes Description:
      Hide

      Fulltext tables stored in MySQL/MariaDB now use InnoDB engine instead of MyISAM. InnoDB engine is more performant and allow to add foreign constraints on table's properties.
      You can change your current engine by following this documentation.

      Show
      Fulltext tables stored in MySQL/MariaDB now use InnoDB engine instead of MyISAM. InnoDB engine is more performant and allow to add foreign constraints on table's properties. You can change your current engine by following this documentation.
    • Upgrade notes:
      Hide

      Since Nuxeo 10.3, fulltext tables stored in MySQL/MariaDB now use InnoDB engine instead of MyISAM. InnoDB engine is more performant and allow to add foreign constraints on table's properties.

      You can change your current engine by following this documentation.

      Note: As there weren't any foreign constraints on these tables, you must first purge tables before converting them to new InnoDB engine with the constraint.
      You need to run:

      DELETE FROM `fulltext` WHERE id not in (SELECT id FROM hierarchy);
      
      Show
      Since Nuxeo 10.3, fulltext tables stored in MySQL/MariaDB now use InnoDB engine instead of MyISAM. InnoDB engine is more performant and allow to add foreign constraints on table's properties. You can change your current engine by following this documentation . Note: As there weren't any foreign constraints on these tables, you must first purge tables before converting them to new InnoDB engine with the constraint. You need to run: DELETE FROM `fulltext` WHERE id not in (SELECT id FROM hierarchy);
    • Sprint:
      nxcore 10.3.5
    • Story Points:
      0

      Description

      For historical reasons, the MySQL fulltext table is created using the MyISAM engine, because that's the only thing that supported fulltext indexes prior to MySQL 5.6.

      Since MySQL 5.6 (reference) it's possible to use InnoDB, so we should do it by default as it improves transactionality and replication options.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 0 minutes
                  0m
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 30 minutes
                  30m