summaryrefslogtreecommitdiff
path: root/actions/favorited.php
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2010-02-04 11:06:01 -0800
committerBrion Vibber <brion@pobox.com>2010-02-04 11:06:01 -0800
commit5a1cbdc6f1e32be7b8430924a1125422d8457584 (patch)
tree28147de9aef4dd9fcec909e2ca0a13cc7d204cff /actions/favorited.php
parent7a7e2162dd7eed59e60d9360d8692abc111d940c (diff)
Add time-based cutoffs for public tag cloud, favorited lists to speed up those queries.
Defaulting to only looking at last 90 days of activity, can be adjusted up or down. $config['tag']['cutoff'] = 86400 * 90; $config['popular']['cutoff'] = 86400 * 90; Per-user and per-group tag clouds do not use the cutoff (and it doesn't help with indexing on them).
Diffstat (limited to 'actions/favorited.php')
-rw-r--r--actions/favorited.php3
1 files changed, 3 insertions, 0 deletions
diff --git a/actions/favorited.php b/actions/favorited.php
index 9ffa5b844..d8980440d 100644
--- a/actions/favorited.php
+++ b/actions/favorited.php
@@ -186,10 +186,13 @@ class FavoritedAction extends Action
function showContent()
{
$weightexpr = common_sql_weight('fave.modified', common_config('popular', 'dropoff'));
+ $cutoff = sprintf("fave.modified > '%s'",
+ common_sql_date(time() - common_config('popular', 'cutoff')));
$qry = 'SELECT notice.*, '.
$weightexpr . ' as weight ' .
'FROM notice JOIN fave ON notice.id = fave.notice_id ' .
+ "WHERE $cutoff " .
'GROUP BY id,profile_id,uri,content,rendered,url,created,notice.modified,reply_to,is_local,source,notice.conversation ' .
'ORDER BY weight DESC';