Skip to content

Commit 9eb7767

Browse files
committed
Massively speed up logging in by reducing the message expiring query from around 2s to 0.0002s
1 parent cb60127 commit 9eb7767

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

db/patches/V1_6_47_02__optimise_message_indexes.sql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,8 @@ ADD INDEX game_id (
1111
ALTER TABLE message ADD INDEX (
1212
message_type_id
1313
);
14+
15+
-- This index is used on logging in, to expire out of date messages.
16+
ALTER TABLE message ADD INDEX (
17+
expire_time
18+
);

htdocs/login_processing.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@
236236
$href = SmrSession::getNewHREF(create_container('login_check_processing.php'), true);
237237
SmrSession::update();
238238
//get rid of expired messages
239-
$db2->query('UPDATE message SET receiver_delete = \'TRUE\', sender_delete = \'TRUE\' WHERE expire_time < '.$db->escapeNumber(TIME).' AND expire_time > 0');
239+
$db2->query('UPDATE message SET receiver_delete = \'TRUE\', sender_delete = \'TRUE\', expire_time = 0 WHERE expire_time < '.$db->escapeNumber(TIME).' AND expire_time != 0');
240240
// Mark message as read if it was sent to self as a mass mail.
241241
$db2->query('UPDATE message SET msg_read = \'TRUE\' WHERE account_id = sender_id AND message_type_id IN (' . $db->escapeArray(array(MSG_ALLIANCE, MSG_GLOBAL, MSG_POLITICAL)) . ');');
242242
//check to see if we need to remove player_has_unread

0 commit comments

Comments
 (0)