diff --git a/db/constraints.sql b/db/constraints.sql index 9859a7e889..33432119f5 100644 --- a/db/constraints.sql +++ b/db/constraints.sql @@ -71,8 +71,10 @@ alter table result -- scheduler (avoid sending mult results of same WU to one user) alter table msg_from_host - add index message_handled (handled); + add index message_handled (handled), -- for message handler + add index mfh_hostid(hostid); + -- for delete account alter table msg_to_host add index msg_to_host(hostid, handled); @@ -114,7 +116,9 @@ alter table credited_job add unique credited_job_user_wu (userid, workunitid); alter table team_delta - add index team_delta_teamid (teamid, timestamp); + add index team_delta_teamid (teamid, timestamp), + add index team_delta_userid (userid); + -- for delete account alter table team_admin add unique (teamid, userid); @@ -147,3 +151,30 @@ alter table credit_user alter table credit_team add index ct_total(appid, total), add index ct_avg(appid, expavg); + +alter table token + add index token_userid(userid); + +alter table user_deleted + add index ud_create(create_time); + -- for delete account + +alter table host_deleted + add index hd_create(create_time); + -- for delete account + +alter table donation_paypal + -- for delete account + add index dp_userid(userid); + +alter table banishment_vote + add index bv_userid(userid); + -- for delete account + +alter table post_ratings + add index pr_user(user); + -- for delete account + +alter table sent_email + add index se_userid(userid); + -- for delete account diff --git a/db/schema.sql b/db/schema.sql index 077ee3b4c5..55846b18bb 100644 --- a/db/schema.sql +++ b/db/schema.sql @@ -787,8 +787,7 @@ create table token ( type char not null, create_time integer not null, expire_time integer, - primary key (token), - index token_userid (userid) + primary key (token) ) engine=InnoDB; create table user_deleted ( diff --git a/html/ops/db_update.php b/html/ops/db_update.php index fb776c55eb..614ae4ab3f 100644 --- a/html/ops/db_update.php +++ b/html/ops/db_update.php @@ -35,8 +35,10 @@ function do_query($query) { $result = _mysql_query($query); if (!$result) { echo "Failed:\n"._mysql_error()."\n"; + return false; } else { echo "Success.\n"; + return true; } } @@ -1111,7 +1113,7 @@ function update_4_19_2018() { } function update_5_9_2018() { - do_query("create table user_deleted ( + $retval = do_query("create table user_deleted ( userid integer not null, public_cross_project_id varchar(254) not null, create_time double not null, @@ -1119,13 +1121,45 @@ function update_5_9_2018() { ) engine=InnoDB; "); - do_query("create table host_deleted ( + $retval = $retval && do_query("create table host_deleted ( hostid integer not null, public_cross_project_id varchar(254) not null, create_time double not null, primary key (hostid) ) engine=InnoDB; "); + + $retval = $retval && do_query("alter table user_deleted + add index ud_create(create_time) + "); + + $retval = $retval && do_query("alter table host_deleted + add index hd_create(create_time) + "); + + $retval = $retval && do_query("alter table team_delta + add index team_delta_userid (userid) + "); + + $retval = $retval && do_query("alter table donation_paypal + add index dp_userid(userid) + "); + + $retval = $retval && do_query("alter table banishment_vote + add index bv_userid(userid) + "); + + $retval = $retval && do_query("alter table post_ratings + add index pr_user(user) + "); + + $retval = $retval && do_query("alter table msg_from_host + add index mfh_hostid(hostid) + "); + + return $retval && do_query("alter table sent_email + add index se_userid(userid) + "); } // Updates are done automatically if you use "upgrade".