Я пишу клиент Silverlight, который взаимодействует с базой данных SQL через веб-службы ASP.NET 2.0, которые я также разрабатываю. Одна из служб должна возвращать результаты хранимой процедуры, и она работает хорошо. Однако один параметр хранимой процедуры должен быть извлечен из другого местоположения, прежде чем хранимая процедура может быть выполнена, и этот дополнительный запрос к базе данных вызывает очевидное замедление (очевидно, когда я кэширую полученное значение, а не получаю его при каждом вызове).
К сожалению, кэширование значения недопустимо для моей ситуации, и я бы предпочел объединить получение этого значения и последующее выполнение хранимой процедуры в одном запросе, чтобы сервер мог оптимизировать запрос. Тем не менее, мой SQL не силен, и я не имею ни малейшего представления, как мне поступить об этом.
На значение, назовем его tasktype
, ссылаются одним ключом id
. Хранимая процедура, getrecords
, принимает несколько аргументов, включая tasktype
, но можно предположить, что другие значения аргумента известны во время вызова запроса. Хранимая процедура возвращает таблицу записей.
Спасибо за любую помощь.