Compare commits

...

1 Commits

Author SHA1 Message Date
gnattu
a78c3385c9 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.
2025-12-02 00:34:22 +08:00

View File

@@ -668,34 +668,22 @@ namespace MediaBrowser.Controller.Entities
} }
} }
var result = GetItems(new InternalItemsQuery(user) return LibraryManager.GetCount(new InternalItemsQuery(user)
{ {
Recursive = false, Recursive = false,
Limit = 0, Parent = this
Parent = this,
DtoOptions = new DtoOptions(false)
{
EnableImages = false
}
}); });
return result.TotalRecordCount;
} }
public virtual int GetRecursiveChildCount(User user) public virtual int GetRecursiveChildCount(User user)
{ {
return GetItems(new InternalItemsQuery(user) return LibraryManager.GetCount(new InternalItemsQuery(user)
{ {
Recursive = true, Recursive = true,
Parent = this,
IsFolder = false, IsFolder = false,
IsVirtualItem = false, IsVirtualItem = false
EnableTotalRecordCount = true, });
Limit = 0,
DtoOptions = new DtoOptions(false)
{
EnableImages = false
}
}).TotalRecordCount;
} }
public QueryResult<BaseItem> QueryRecursive(InternalItemsQuery query) public QueryResult<BaseItem> QueryRecursive(InternalItemsQuery query)