【发布时间】:2009-02-28 16:50:11
【问题描述】:
我已经注意到,一旦我将连接添加到我的一些查询中,执行这些连接所花费的时间不仅仅是完成多个查询。
时间包括页面加载和平均超过 20 个页面加载。
7-9 个没有连接的查询
159毫秒
带有 2 个连接的 3 个查询
235毫秒
考虑到它们似乎对性能有如此重大的影响,我是否应该继续进行多个查询而不是连接?我什至可以优化多查询方法,因为在这些测试期间我什至延迟加载。
编辑
为了这个问题,我将创建一些虚假信息。
表格对象
ID(整数、身份、PK、聚集索引)
用户 ID(int,非聚集索引)
CategoryID (int, 非聚集索引)
表用户
ID(int、identity、PK、聚集索引)
表格分类
ID(int、identity、PK、聚集索引)
很简单。这是对 Objects 表的双重内连接查询。分别查询所有 3 个似乎比连接更快。
连接的查询计划显示 42% 完成了 2 次聚集索引搜索,23% 是聚集索引扫描,其余的是 Top N 排序。
【问题讨论】:
-
也许发布麻烦的查询会有所帮助...
-
您是否测试了您提供给我们的虚假架构,以确保它也遇到了减速?
标签: sql linq-to-sql