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

add partitioning / large table indexing for Moodle

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Won't Do
    • Minor
    • None
    • 2.9.8, 3.0.6, 3.1.2
    • Database SQL/XMLDB
    • 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

            Unassigned Unassigned
            dustin.brisebois Dustin Brisebois
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Clockify

                Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.