From: GregThib Date: Mon, 13 Jul 2015 10:03:50 +0000 (+0200) Subject: Performance breakthrough X-Git-Tag: 16.3~220^2 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=c2916856541ed82b2f11b5f3ff29b1e4f5cd6b3e;p=tt-rss.git Performance breakthrough Improvement in the Purge method for huge performance increase. "WHERE ref_id IS NOT NULL" is needed by pgsql, not necessarily by mysql. This is a more standard way to make deletions based on propagation (from ttrss_user_entries) with 1-to-N relations. --- diff --git a/include/functions.php b/include/functions.php index 22179e1a..a57c0947 100644 --- a/include/functions.php +++ b/include/functions.php @@ -320,8 +320,7 @@ // purge orphaned posts in main content table $result = db_query("DELETE FROM ttrss_entries WHERE - (SELECT COUNT(int_id) FROM ttrss_user_entries WHERE ref_id = id) = 0"); - + id NOT IN (SELECT ref_id FROM ttrss_user_entries WHERE ref_id IS NOT NULL)"); if ($do_output) { $rows = db_affected_rows($result); _debug("Purged $rows orphaned posts.");