2010-05-28 73 views
0

在.net webservice中的單個webmethod中,除了使用存儲過程之外,還有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

第二個select語句有一個參數必須來自我查詢,任何其他的方法? – Karthick 2010-05-28 18:58:39

+0

@Karthick - 查看更新。 – ChaosPandion 2010-05-28 19:13:56

+0

感謝ChaosPandion,例如: 從table1中選擇A1.Column1,其中userid ='Karthick'; 從表2中選擇A2.Column1,其中A2.Column =第一個查詢的輸出; 從表2中選擇A2.Column1,其中A2.Column = A1.Column1 我們如何才能將此操作設置爲單個數據庫命中? – Karthick 2010-05-28 20:04:28

2

調查ASP.Net Data Caching

您可以在您的請求期間保留結果集,甚至更長時間,減少數據庫往返行程。

1

使用caching將數據庫中的值存儲在服務器內存中。這裏有很多選擇,取決於你需要什麼。