Выполнение их всех как одного запроса (UNION ALL'd вместе) будет включать в себя 1 поездку в обе стороны к базе данных, а не 16 поездок туда и обратно - поскольку каждая поездка из вашего кода .NET в SQL сопряжена с дополнительными издержками, то, очевидно, рационализация до 1 можетбыть выгодным с этой точки зрения.
Есть и другие перспективы, в зависимости от точного сценария, например- если все ваши запросы довольно мясистые, поддерживать их может быть немного сложнее (массивный запрос, объединяющий множество сложных операторов)- если отдельные запросы нужны сами по себе (то есть вы не всегда хотите возвращать их как часть одного набора результатов), то вы захотите разделить каждый запрос на его собственный sproc (не может UNRO sprocs)
Итак, то, как вы объедините эти результаты в одном вызове, изменится (например, подход с использованием временной таблицы, как уже предлагалось).Но в целом сведение к минимуму обращений к серверу базы данных может сократить время.Обратная сторона вопроса: есть ли другие области, которые можно настроить, чтобы повысить отдачу с точки зрения производительности?