From a78c3385c9e020d71c384ece1f6030d47c7b3c11 Mon Sep 17 00:00:00 2001 From: gnattu Date: Tue, 2 Dec 2025 00:34:22 +0800 Subject: [PATCH] Don't list every item just to get count This emby era logic now becomes a serious performance problem on very huge folders. Use the proper item count query for most common cases. --- MediaBrowser.Controller/Entities/Folder.cs | 24 ++++++---------------- 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index 59a967725f..7fde95d21a 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -668,34 +668,22 @@ namespace MediaBrowser.Controller.Entities } } - var result = GetItems(new InternalItemsQuery(user) + return LibraryManager.GetCount(new InternalItemsQuery(user) { Recursive = false, - Limit = 0, - Parent = this, - DtoOptions = new DtoOptions(false) - { - EnableImages = false - } + Parent = this }); - - return result.TotalRecordCount; } public virtual int GetRecursiveChildCount(User user) { - return GetItems(new InternalItemsQuery(user) + return LibraryManager.GetCount(new InternalItemsQuery(user) { Recursive = true, + Parent = this, IsFolder = false, - IsVirtualItem = false, - EnableTotalRecordCount = true, - Limit = 0, - DtoOptions = new DtoOptions(false) - { - EnableImages = false - } - }).TotalRecordCount; + IsVirtualItem = false + }); } public QueryResult QueryRecursive(InternalItemsQuery query)