From c2916856541ed82b2f11b5f3ff29b1e4f5cd6b3e Mon Sep 17 00:00:00 2001 From: GregThib Date: Mon, 13 Jul 2015 12:03:50 +0200 Subject: [PATCH] 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. --- include/functions.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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.");