Browse Source

[svn r13698] add missing indexes on stats table

Eric Marguin 17 năm trước cách đây
mục cha
commit
f1ba981d2b
2 tập tin đã thay đổi với 30 bổ sung9 xóa
  1. 18 7
      main/install/dokeos_stats.sql
  2. 12 2
      main/install/migrate-db-1.8.4-1.8.5-pre.sql

+ 18 - 7
main/install/dokeos_stats.sql

@@ -64,9 +64,11 @@ CREATE TABLE track_e_lastaccess (
   access_session_id int unsigned default NULL,
   PRIMARY KEY  (access_id),
   KEY access_user_id (access_user_id),
-  KEY access_cours_code (access_cours_code)
+  KEY access_cours_code (access_cours_code),
+  KEY access_session_id (access_session_id)
 );
 
+
 CREATE TABLE track_e_default (
   default_id int NOT NULL auto_increment,
   default_user_id int unsigned NOT NULL default 0,
@@ -84,7 +86,9 @@ CREATE TABLE track_e_downloads (
   down_date datetime NOT NULL default '0000-00-00 00:00:00',
   down_cours_id varchar(40) NOT NULL default '',
   down_doc_path varchar(255) NOT NULL default '',
-  PRIMARY KEY  (down_id)
+  PRIMARY KEY  (down_id),
+  KEY down_user_id (down_user_id),
+  KEY down_cours_id (down_cours_id)
 );
 
 CREATE TABLE track_e_exercices (
@@ -95,9 +99,10 @@ CREATE TABLE track_e_exercices (
   exe_exo_id mediumint unsigned NOT NULL default 0,
   exe_result smallint NOT NULL default 0,
   exe_weighting smallint NOT NULL default 0,
-  PRIMARY KEY  (exe_id)
+  PRIMARY KEY  (exe_id),
+  KEY exe_user_id (exe_user_id),
+  KEY exe_cours_id (exe_cours_id)
 );
-ALTER TABLE track_e_exercices ADD INDEX (exe_user_id);
 
 CREATE TABLE track_e_attempt (
   exe_id int default NULL,
@@ -119,7 +124,9 @@ CREATE TABLE track_e_hotpotatoes (
   exe_date DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL ,
   exe_cours_id varchar(40) NOT NULL ,
   exe_result smallint default 0 NOT NULL ,
-  exe_weighting smallint default 0 NOT NULL
+  exe_weighting smallint default 0 NOT NULL,
+  KEY exe_user_id (exe_user_id),
+  KEY exe_cours_id (exe_cours_id)
 );
 
 CREATE TABLE track_e_links (
@@ -128,7 +135,9 @@ CREATE TABLE track_e_links (
   links_date datetime NOT NULL default '0000-00-00 00:00:00',
   links_cours_id varchar(40) NOT NULL default '' ,
   links_link_id int NOT NULL default 0,
-  PRIMARY KEY  (links_id)
+  PRIMARY KEY  (links_id),
+  KEY links_cours_id (links_cours_id),
+  KEY links_user_id (links_user_id)
 );
 
 CREATE TABLE track_e_login (
@@ -166,7 +175,9 @@ CREATE TABLE track_e_uploads (
   upload_date datetime NOT NULL default '0000-00-00 00:00:00',
   upload_cours_id varchar(40) NOT NULL default '',
   upload_work_id int NOT NULL default 0,
-  PRIMARY KEY  (upload_id)
+  PRIMARY KEY  (upload_id),
+  KEY upload_user_id (upload_user_id),
+  KEY upload_cours_id (upload_cours_id)
 );
 
 CREATE TABLE track_e_course_access (

+ 12 - 2
main/install/migrate-db-1.8.4-1.8.5-pre.sql

@@ -21,11 +21,21 @@ INSERT INTO settings_current (variable, subkey, type, category, selected_value,
 INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext) VALUES ('extendedprofile_registrationrequired', 'myteach', 'checkbox', 'false', 'true', 'ExtendedProfileRegistrationRequiredTitle', ExtendedProfileRegistrationRequiredComment', NULL, 'MyTeach');
 INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext) VALUES ('extendedprofile_registrationrequired', 'mypersonalopenarea', 'checkbox', 'User', 'false', 'ExtendedProfileRegistrationRequiredTitle', ExtendedProfileRegistrationRequiredComment', NULL, 'MyPersonalOpenArea');
 
--- xxSTATSxx
+-- xxSTATSxx
+ALTER TABLE `track_e_downloads` ADD INDEX ( `down_user_id` );
+ALTER TABLE `track_e_downloads` ADD INDEX ( `down_cours_id` );
+ALTER TABLE `track_e_exercices` ADD INDEX ( `exe_cours_id` );
+ALTER TABLE `track_e_hotpotatoes` ADD INDEX ( `exe_user_id` );
+ALTER TABLE `track_e_hotpotatoes` ADD INDEX ( `exe_cours_id` );
+ALTER TABLE `track_e_lastaccess` ADD INDEX ( `access_session_id` );
+ALTER TABLE `track_e_links` ADD INDEX ( `links_cours_id` );
+ALTER TABLE `track_e_links` ADD INDEX ( `links_user_id` );
+ALTER TABLE `track_e_uploads` ADD INDEX ( `upload_user_id` );
+ALTER TABLE `track_e_uploads` ADD INDEX ( `upload_cours_id` );
 
 -- xxUSERxx
 
 -- xxCOURSExx
 CREATE TABLE lp_iv_objective(id bigint unsigned primary key auto_increment, lp_iv_id bigint unsigned not null, order_id smallint unsigned not null default 0, objective_id	varchar(255) not null default '', score_raw		float unsigned not null default 0, score_max		float unsigned not null default 0, score_min		float unsigned not null default 0, status char(32) not null default 'not attempted');
 ALTER TABLE lp_iv_objective ADD INDEX (lp_iv_id);
-ALTER TABLE lp_item CHANGE prerequisite prerequisite TEXT DEFAULT NULL;
+ALTER TABLE lp_item CHANGE prerequisite prerequisite TEXT DEFAULT NULL;