From 97085daadcbc8b1ae1a01cd777605f66464a02ea Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 2 May 2012 16:14:01 -0500 Subject: user_table optimization Rather than looking up by username, it makes more sense to look the stats up by user ID to reduce the number of needed joins. Signed-off-by: Dan McGee Signed-off-by: Lukas Fleischer --- web/html/index.php | 4 ++-- web/lib/stats.inc.php | 11 +++++------ 2 files changed, 7 insertions(+), 8 deletions(-) (limited to 'web') diff --git a/web/html/index.php b/web/html/index.php index 0d513d3..21de99d 100644 --- a/web/html/index.php +++ b/web/html/index.php @@ -58,8 +58,8 @@ echo __( '; } diff --git a/web/lib/stats.inc.php b/web/lib/stats.inc.php index 01e6700..2828dc9 100644 --- a/web/lib/stats.inc.php +++ b/web/lib/stats.inc.php @@ -17,17 +17,16 @@ function updates_table($dbh) { include('stats/updates_table.php'); } -function user_table($user, $dbh) { - $escuser = db_escape_string($user); - $base_q = "SELECT count(*) FROM Packages,Users WHERE Packages.MaintainerUID = Users.ID AND Users.Username='" . $escuser . "'"; +function user_table($userid, $dbh) { + $base_q = "SELECT count(*) FROM Packages WHERE Packages.MaintainerUID = " . $userid; $maintainer_unsupported_count = db_cache_value($base_q, $dbh, - 'user_unsupported_count:' . $escuser); + 'user_unsupported_count:' . $userid); - $q = "SELECT count(*) FROM Packages,Users WHERE Packages.OutOfDateTS IS NOT NULL AND Packages.MaintainerUID = Users.ID AND Users.Username='" . $escuser . "'"; + $q = "SELECT count(*) FROM Packages WHERE Packages.OutOfDateTS IS NOT NULL AND Packages.MaintainerUID = " . $userid; $flagged_outdated = db_cache_value($q, $dbh, - 'user_flagged_outdated:' . $escuser); + 'user_flagged_outdated:' . $userid); # If the user is a TU calculate the number of the packages $atype = account_from_sid($_COOKIE["AURSID"]); -- cgit v1.2.3-54-g00ecf