Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-56572

add partitioning / large table indexing for Moodle

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 2.9.8, 3.0.6, 3.1.2
    • Fix Version/s: None
    • Component/s: Database SQL/XMLDB
    • Labels:
    • Affected Branches:
      MOODLE_29_STABLE, MOODLE_30_STABLE, MOODLE_31_STABLE

      Description

      LMS's with large tables (~200M rows) appear to be by default configurations; larger tables should have partitioning (https://dev.mysql.com/doc/refman/5.6/en/partitioning.html) features pre-enabled for tables >100M rows.

      Tables such as (but not limited to):

      log
      message
      message_read
      question_attempts
      question_attempt_steps
      question_attempt_step_data

      should all have partitioning code added by the Installer to handle at least large table partitions (including but not limited to partitioning the log table by type may be more beneficial for reports instead of by Index count).

      Ideally partitions are created via the Install XML configuration file when the LMS is generated. In cases such as log (which should be partitioned by YEAR this may require additional code to inject a new partition frame for each year in use).

      This may look like foreach($years_running as $year)

      { // add new partition code }

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            dustin.brisebois Dustin Brisebois
            Participants:
            Component watchers:
            Andrew Lyons, Dongsheng Cai, Huong Nguyen, Jun Pataleta, Michael Hawkins, Shamim Rezaie, Simey Lameze
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated: