Optimized queries to iterate over artists/releases, when specifying a media library

This commit is contained in:
emeric
2024-04-12 16:58:13 +02:00
parent 5bf9be304b
commit e6e8a6eac5
2 changed files with 4 additions and 7 deletions
+2 -3
View File
@@ -294,9 +294,8 @@ namespace lms::db
if (library.isValid())
{
query.join("track t ON t.release_id = r.id");
query.where("t.media_library_id = ?").bind(library);
query.groupBy("r.id");
// Faster than using joins
query.where("EXISTS (SELECT 1 FROM track t WHERE t.release_id = r.id AND t.media_library_id = ?)").bind(library);
}
utils::forEachQueryResult(query, [&](const Release::pointer& release)