2010-05-28 69 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将数据库中的值存储在服务器内存中。这里有很多选择,取决于你需要什么。