【发布时间】:2012-01-06 15:23:58
【问题描述】:
我在一个相当简单的 EF 4.1 代码优先模型上创建了一个 WCF 数据服务。对于每个请求,我必须提供一个 clientid 来维护我的多租户数据库中的数据隔离。我看到了糟糕的性能,在运行 sql server 跟踪后,我看到所有参数化查询都在使用这样的子查询。
select top 100 <This is because of paging>
colA,
colB,
colC
from (select colA, colB, colC
from table
where clientid = 12345)
orderby .....
有什么办法可以调整它以跳过选择的子查询?它似乎非常不需要,并且会以惊人的数量级降低性能。
谢谢。
【问题讨论】:
-
也许需要索引?尝试在 SSMS 中运行相同的查询,看看它是否推荐任何索引。
-
愿意发布相关的 LINQ 查询吗?
标签: c#-4.0 entity-framework-4 wcf-data-services