summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-02-27 15:05:38 +0400
committerAndrew Dolgov <[email protected]>2013-02-27 15:05:38 +0400
commit45942238bfdb8e7c8f3ee8f6331945b31c5d7039 (patch)
tree7c8b7a01d3861316fb1bf6944a9dde2b219b1d25 /include
parent1bad74ea7cfb9c8f2c97460187cabe7400b626c0 (diff)
getLabelCounters: optimize SQL
Diffstat (limited to 'include')
-rw-r--r--include/functions.php9
1 files changed, 6 insertions, 3 deletions
diff --git a/include/functions.php b/include/functions.php
index 00193c995..ec91bd3fa 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -1413,15 +1413,18 @@
$owner_uid = $_SESSION["uid"];
- $result = db_query($link, "SELECT id, caption FROM ttrss_labels2
- WHERE owner_uid = '$owner_uid'");
+ $result = db_query($link, "SELECT id,caption,COUNT(unread) AS unread
+ FROM ttrss_labels2 LEFT JOIN ttrss_user_labels2 ON
+ (ttrss_labels2.id = label_id)
+ LEFT JOIN ttrss_user_entries ON (ref_id = article_id AND unread = true)
+ WHERE ttrss_labels2.owner_uid = $owner_uid GROUP BY ttrss_labels2.id");
while ($line = db_fetch_assoc($result)) {
$id = -$line["id"] - 11;
$label_name = $line["caption"];
- $count = getFeedUnread($link, $id);
+ $count = $line["unread"];
$cv = array("id" => $id,
"counter" => (int) $count);