Я не могу вспомнить, когда в последний раз мы писали хранимую процедуру, которая возвращала более одного набора результатов за один раз. Редко, когда это на самом деле является общей выгодой.
Единственная причина, по которой я могу когда-либо сделать что-то подобное, - это (а) производительность - например. если для SELECTS требуются временные таблицы или много настроек, которые были бы общими для всех них, или (b) если данные подвержены риску изменения между вызовами и хотят использовать сериализуемую семантику изоляции.
Если все наборы строк независимы друг от друга и не имеют общих настроек, обязательно разделите их. Стоимость круговых поездок на самом деле не является существенным фактором, если вы используете протоколы подключения более низкого уровня (например, TCP/IP или именованные каналы, а не какую-то болтливую технологию, такую как SQL поверх XML). Более того, если вы можете вызывать sprocs по отдельности, это означает, что вы можете вызывать их асинхронно и параллельно и, возможно, даже достигать превосходной производительности, если хотите потрудиться.
person
John Wu
schedule
30.09.2013