From 4d3ea08c9775aa101ef5e1cbd9c75d31c084d825 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Wed, 28 Feb 2018 08:50:01 -0500 Subject: [PATCH] Use NOT EXISTS to improve performance --- src/Model/Profile.php | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/Model/Profile.php b/src/Model/Profile.php index c91fdc1a9e..e493d82d53 100644 --- a/src/Model/Profile.php +++ b/src/Model/Profile.php @@ -642,24 +642,26 @@ class Profile $classtoday = ''; $s = dba::p( - "SELECT `event`.*, `item`.`id`, `item`.`thr-parent`, `item`.`parent-uri` + "SELECT * FROM `event` - LEFT JOIN `item` - ON `item`.`uid` = `event`.`uid` - AND `item`.`parent-uri` = `event`.`uri` - AND `item`.`verb` = ? - AND `item`.`visible` - AND NOT `item`.`deleted` WHERE `event`.`uid` = ? AND `event`.`type` != 'birthday' AND `event`.`start` < ? AND `event`.`start` >= ? - AND `item`.`id` IS NULL + AND NOT EXISTS ( + SELECT `id` + FROM `item` + WHERE `item`.`uid` = `event`.`uid` + AND `item`.`parent-uri` = `event`.`uri` + AND `item`.`verb` = ? + AND `item`.`visible` + AND NOT `item`.`deleted` + ) ORDER BY `event`.`start` ASC", - ACTIVITY_ATTENDNO, local_user(), DateTimeFormat::utc('now + 7 days'), - DateTimeFormat::utc('now - 1 days') + DateTimeFormat::utc('now - 1 days'), + ACTIVITY_ATTENDNO ); $r = []; -- 2.39.5