EF Core 11 (начиная с preview 3) сделал AsSplitQuery заметно быстрее. Раньше, если ты подгружал несколько связанных сущностей через Include, а потом вызывал AsSplitQuery, EF Core выполнял запрос для корневой таблицы и по одному запросу на каждую коллекцию. Но каждый такой запрос тащил все reference navigation — даже те, что не нужны для связывания коллекции. Например, запрос на Posts (коллекция) всё равно джойнил таблицу BlogType (reference), выбирал её Id и сортировал по нему. Чем больше reference Include, тем больше лишних JOIN и ORDER BY в каждом запросе коллекции. База делала лишнюю работу и выбрасывала результат.
В EF Core 11 эти reference navigation из запросов коллекций вырезали. Теперь запрос для Posts выглядит так, как написал бы руками: просто INNER JOIN Post с блогом по первичному ключу. Без лишних LEFT JOIN с BlogType и прочих.
Автор сравнил производительность на схожем бенчмарке. Тестовые данные: 5000 блогов, у каждого 5 постов, плюс четыре reference navigation (Author, Category, Series, Posts). Замеряли на .NET 10 и .NET 11 (с соответствующими версиями EF Core). Результаты: на .NET 10 запрос в среднем занимал 68.53 ms и выделял 33.35 MB памяти. На .NET 11 — 62.07 ms и 30.15 MB. Время сократилось примерно на 9%, память — почти на 10%. Автор оговаривается, что часть улучшений может приходиться на саму платформу .NET 11, а не только на EF Core, но общая тенденция очевидна.
Итог: если в проекте есть AsSplitQuery и много Include с reference navigation, статью стоит прочитать — апдейт может дать бесплатный прирост скорости и снижение аллокаций.