Uploaded image for project: 'CiviCRM'
  1. CiviCRM
  2. CRM-19572

Do not use MyISAM for temp tables for dupe elim

    Details

    • Type: Improvement
    • Status: Done/Fixed
    • Priority: Minor
    • Resolution: Fixed/Completed
    • Affects Version/s: 4.7
    • Fix Version/s: 4.7.13
    • Component/s: Core CiviCRM
    • Labels:
      None
    • Versioning Impact:
      Patch (backwards-compatible bug fixes)
    • Documentation Required?:
      Developer Doc
    • Funding Source:
      Contributed Code

      Description

      CRM-8523 introduced a special case for a MyISAM table due to the superior performance of that storage engine over InnoDB in the specialized workload of duplicate merging. MySQL 5.7 has significantly improved InnoDB performance in the relevant use case (http://dimitrik.free.fr/blog/archives/2015/12/mysql-performance-revisiting-innodb-vs-myisam-with-mysql-57.html) so once this version has sufficient adoption it will not worth breaking the pattern of using InnoDB anymore. There is also the irritation of some who are getting error messages about MyISAM tables.

      When implemented, there should be an upgrade notice for instances with MySQL < 5.7 indicating that they may want to upgrade MySQL if they are having significantly delays on dupe merging. I suspect that the larger databases that suffer most if dupe merging is slow are the ones that are most likely to have better database versions (Percona, MariaDB, MySQL 5.7), or are able to upgrade, so we don't need to wait for ages before implementing this.

      Note that MySQL 5.7 adoption is still too low to justify this change https://stats.civicrm.org/?tab=technology.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                joemurray Joe Murray
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: