Возвращение нескольких наборов результатов или одиночных XML-блоков
-
16-10-2019 - |
Вопрос
Я писал несколько новых хранимых процедур и возвращаюсь между 6-8 наборами результатов в нескольких случаях. Я всегда работал в предположении, что существует определенная неэффективность с наборами результатов, которых следует избегать.
Похоже, что мои параметры-использовать набор результатов или построить XML-представление сложных объектов и возвращать их с помощью каналов SQL-XML (Это значит избежать ускорения блогов, клиентами ADO) Есть ли у кого -нибудь опыт работы с производительностью и/или относительной эффективностью этих выборов и, возможно, дает некоторые идеи плохого и хорошего каждого?
Для дополнительного контекста ...
- Каждый набор результатов будет иметь не более 30 столбцов, с большинством около 10
- Данные столбца в основном целые числа (От 1 до 8 байтов) и некоторые струны от 50 до 2000 символов
- Во время пиковой нагрузки мы ожидаем между 5-9 запросами в секунду для рассматриваемых SPROC, хотя есть один случай использования, который может быть 10 в секунду в секунду
- Денормализация до более плоского зрения на самом деле не является разумным вариантом, поскольку мы можем видеть
Решение
Я предпочитаю несколько наборов результатов, потому что это быстрее и использует меньше памяти и гораздо легче справляться.
Но все зависит от потребителя данных - например, если он может получить только XML - у вас нет выбора 8-)