diff options
author | BlueRaja <BlueRaja.admin@gmail.com> | 2013-01-15 01:05:26 -0600 |
---|---|---|
committer | BlueRaja <BlueRaja.admin@gmail.com> | 2013-01-15 01:05:26 -0600 |
commit | a6dd38b8debc789769fffd5c053d04bc888dcbbb (patch) | |
tree | ea99b25c2e8315c0245f4a71dff1099eb3fb8f2e /includes/playerStats.php | |
parent | c16f64c46dca50d0c66e52f6d2ecb70f91bdd65e (diff) | |
download | pathery-a6dd38b8debc789769fffd5c053d04bc888dcbbb.tar.xz |
BUGFIX: Updating high scores going super SUPER slow
Diffstat (limited to 'includes/playerStats.php')
-rw-r--r-- | includes/playerStats.php | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/includes/playerStats.php b/includes/playerStats.php index b302812..ec9a616 100644 --- a/includes/playerStats.php +++ b/includes/playerStats.php @@ -18,22 +18,17 @@ function setIsHighScoreFlag($fromDate) $fromDate = mysql_escape_string($fromDate); $sql = " - UPDATE solutions - SET solutions.isHighScore = 1 - WHERE solutions.ID IN + UPDATE solutions AS s1 + SET s1.isHighScore = 1 + WHERE s1.dateModified < CURDATE() + AND s1.dateModified >= '$fromDate' + AND s1.ID = ( SELECT s2.ID - FROM (SELECT * FROM solutions) AS s2 - INNER JOIN mapOfTheDay ON s2.mapID = mapOfTheDay.mapID - WHERE s2.ID = - ( - SELECT s3.ID - FROM (SELECT * FROM solutions) AS s3 - WHERE s3.mapID = s2.mapID - ORDER BY moves DESC, dateModified ASC - LIMIT 1 - ) - AND mapOfTheDay.mapDate >= '$fromDate' + FROM (SELECT ID, mapID, moves, dateModified FROM solutions) AS s2 + WHERE s2.mapID = s1.mapID + ORDER BY moves DESC, dateModified ASC + LIMIT 1 ) "; @@ -150,7 +145,7 @@ function addPlayerChampionPointsForMapsOfTheDay($fromDate) AND mapOfTheDay.mapDate < CURDATE() ) WHERE solutions.dateModified >= $fromDate; - AND mapOfTheDay.mapDate < CURDATE() + AND solutions.dateModified < CURDATE() "; $sql4 = " |