2010-05-28 4 views
0

В одном веб-методе в .net webservice есть 4-кратное попадание БД (для разных таблиц), кроме использования хранимых процедур, есть ли какие-либо средства, которыми я могу следовать, чтобы уменьшить удары db?База данных удаляет сокращение .net?

ответ

3

Напишите один запрос, который собирает все требуемые данные.

Существует почти всегда способ сделать один запрос.

Select A.A1, A.A2, A.A3, B.B1, B.B2, B.B3 
From TableB B 
    Inner Join (
     Select A1, A2, A3 
     From TableA 
     Where A1 = @Id 
    ) A On B.B1 = A.A2 
+0

У второго оператора выбора есть параметр, который должен исходить из запроса I, любого другого подхода? – Karthick

+0

@ Karthick - См. Обновление. – ChaosPandion

+0

Спасибо ChaosPandion, например: Выберите A1.Column1 из таблицы1, где userid = 'Karthick'; Выберите A2.Column1 из таблицы2, где A2.Column = вывод первого запроса; Выберите A2.Column1 из таблицы2, где A2.Column = A1.Column1 Как мы можем подойти, чтобы сделать это одним ударом db? – Karthick

2

Посмотрите на ASP.Net Data Caching.

Вы можете сохранить свой результирующий набор в течение всего времени вашего запроса и даже дольше, уменьшая количество посещений базы данных.

1

Используйте caching для хранения значений из базы данных в памяти сервера. Здесь много вариантов, в зависимости от того, что вам нужно.

Смежные вопросы