]> git.mjollnir.org Git - moodle.git/commitdiff
Added some new indexes on quiz tables in MySQL
authormoodler <moodler>
Wed, 26 Mar 2003 05:46:09 +0000 (05:46 +0000)
committermoodler <moodler>
Wed, 26 Mar 2003 05:46:09 +0000 (05:46 +0000)
mod/quiz/db/mysql.php
mod/quiz/db/mysql.sql
mod/quiz/version.php

index 47da10ea56a583a0b66f2a94ca8c4f87f12dcef0..3f3ae82b83376501a787f0f21a28c1d0fe5230a0 100644 (file)
@@ -53,6 +53,18 @@ function quiz_upgrade($oldversion) {
     if ($oldversion < 2003030303) {
         table_column("quiz_questions", "", "defaultgrade", "INTEGER", "6", "UNSIGNED", "1", "NOT NULL", "image");
     }
+       if ($oldversion < 2003032600) {
+        execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_answers` ADD INDEX(question) ");
+        execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_attempts` ADD INDEX(quiz) ");
+        execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_attempts` ADD INDEX(userid) ");
+        execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_grades` ADD INDEX(quiz) ");
+        execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_grades` ADD INDEX(userid) ");
+        execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_question_grade` ADD INDEX(quiz) ");
+        execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_question_grade` ADD INDEX(question) ");
+        execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_randommatch` ADD INDEX(question) ");
+        execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_responses` ADD INDEX(attempt) ");
+        execute_sql(" ALTER TABLE `{$CFG->prefix}quiz_responses` ADD INDEX(question) ");
+    }
 
     return true;
 }
index f85d83838a097e2bd463a8bf2a98a47f1f4fc192..ca2e7dd7e04b64b2537931de32b9a62a2014c178 100644 (file)
@@ -44,8 +44,8 @@ CREATE TABLE `prefix_quiz_answers` (
   `answer` varchar(255) NOT NULL default '',
   `fraction` varchar(10) NOT NULL default '0.0',
   `feedback` text NOT NULL,
-
-  PRIMARY KEY  (`id`)
+  PRIMARY KEY  (`id`),
+  KEY `question` (`question`)
 ) TYPE=MyISAM COMMENT='Answers, with a fractional grade (0-1) and feedback';
 # --------------------------------------------------------
 
@@ -62,7 +62,9 @@ CREATE TABLE `prefix_quiz_attempts` (
   `timestart` int(10) unsigned NOT NULL default '0',
   `timefinish` int(10) unsigned NOT NULL default '0',
   `timemodified` int(10) unsigned NOT NULL default '0',
-  PRIMARY KEY  (`id`)
+  PRIMARY KEY  (`id`),
+  KEY `quiz` (`quiz`),
+  KEY `userid` (`userid`)
 ) TYPE=MyISAM COMMENT='Stores various attempts on a quiz';
 # --------------------------------------------------------
 
@@ -90,7 +92,9 @@ CREATE TABLE `prefix_quiz_grades` (
   `userid` int(10) unsigned NOT NULL default '0',
   `grade` varchar(10) NOT NULL default '0.0',
   `timemodified` int(10) unsigned NOT NULL default '0',
-  PRIMARY KEY  (`id`)
+  PRIMARY KEY  (`id`),
+  KEY `quiz` (`quiz`),
+  KEY `userid` (`userid`)
 ) TYPE=MyISAM COMMENT='Final quiz grade (may be best of several attempts)';
 # --------------------------------------------------------
 
@@ -118,7 +122,9 @@ CREATE TABLE `prefix_quiz_question_grades` (
   `quiz` int(10) unsigned NOT NULL default '0',
   `question` int(10) unsigned NOT NULL default '0',
   `grade` smallint(6) NOT NULL default '0',
-  PRIMARY KEY  (`id`)
+  PRIMARY KEY  (`id`),
+  KEY `quiz` (`quiz`),
+  KEY `question` (`question`)
 ) TYPE=MyISAM COMMENT='The grade for a question in a quiz';
 # --------------------------------------------------------
 
@@ -130,7 +136,8 @@ CREATE TABLE `prefix_quiz_randommatch` (
   `id` int(10) unsigned NOT NULL auto_increment,
   `question` int(10) unsigned NOT NULL default '0',
   `choose` INT UNSIGNED DEFAULT '4' NOT NULL,
-  PRIMARY KEY ( `id` )
+  PRIMARY KEY ( `id` ),
+  KEY `question` (`question`)
 ) TYPE=MyISAM COMMENT='Info about a random matching question';
 
 #
@@ -159,7 +166,9 @@ CREATE TABLE `prefix_quiz_responses` (
   `question` int(10) unsigned NOT NULL default '0',
   `answer` varchar(255) NOT NULL default '',
   `grade` varchar(10) NOT NULL default '0.0',
-  PRIMARY KEY  (`id`)
+  PRIMARY KEY  (`id`),
+  KEY `attempt` (`attempt`),
+  KEY `question` (`question`)
 ) TYPE=MyISAM COMMENT='Stores user responses to a quiz, and percentage grades';
 # --------------------------------------------------------
 
index 63a883b76a3d75cd87d34692fdbc691cc8838bcf..effa85fd85fdc608f45c63d03fa85cd36ef50d21 100644 (file)
@@ -5,7 +5,7 @@
 //  This fragment is called by moodle_needs_upgrading() and /admin/index.php
 ////////////////////////////////////////////////////////////////////////////////
 
-$module->version  = 2003030303;   // The (date) version of this module
+$module->version  = 2003032600;   // The (date) version of this module
 $module->cron     = 0;            // How often should cron check this module (seconds)?
 
 ?>