]> git.mxchange.org Git - friendica.git/commitdiff
Improve query
authorMichael <heluecht@pirati.ca>
Mon, 15 Jan 2024 17:00:32 +0000 (17:00 +0000)
committerMichael <heluecht@pirati.ca>
Mon, 15 Jan 2024 17:00:32 +0000 (17:00 +0000)
src/Model/Photo.php

index 903c65db3441c2af9cc989ff939b93f15e82f8d7..87a44c78c1fea6c4677d5c94fc20003a8cd20faf 100644 (file)
@@ -751,7 +751,7 @@ class Photo
                        if (!DI::config()->get('system', 'no_count', false)) {
                                /// @todo This query needs to be renewed. It is really slow
                                // At this time we just store the data in the cache
-                               $albums = DBA::toArray(DBA::p("SELECT COUNT(DISTINCT `resource-id`) AS `total`, `album`, ANY_VALUE(`created`) AS `created`
+                               $albums = DBA::toArray(DBA::p("SELECT COUNT(DISTINCT `resource-id`) AS `total`, `album`, MIN(`created`) AS `created`
                                        FROM `photo`
                                        WHERE `uid` = ? AND `photo-type` IN (?, ?, ?) $sql_extra
                                        GROUP BY `album` ORDER BY `created` DESC",
@@ -762,9 +762,10 @@ class Photo
                                ));
                        } else {
                                // This query doesn't do the count and is much faster
-                               $albums = DBA::toArray(DBA::p("SELECT DISTINCT(`album`), '' AS `total`, ANY_VALUE(`created`) AS `created`
+                               $albums = DBA::toArray(DBA::p("SELECT '' AS `total`, `album`, MIN(`created`) AS `created`
                                        FROM `photo` USE INDEX (`uid_album_scale_created`)
-                                       WHERE `uid` = ? AND `photo-type` IN (?, ?, ?) $sql_extra",
+                                       WHERE `uid` = ? AND `photo-type` IN (?, ?, ?) $sql_extra
+                                       GROUP BY `album` ORDER BY `created` DESC",
                                        $uid,
                                        self::DEFAULT,
                                        $banner_type,