SQL逻辑读取
我有一个查询运行了很多次,因为它位于一个函数中,该函数是为一个大型行集调用的 查询是SQL逻辑读取,sql,sql-server-2008,logical-reads,Sql,Sql Server 2008,Logical Reads,我有一个查询运行了很多次,因为它位于一个函数中,该函数是为一个大型行集调用的 查询是SELECT@sql=NULL,其中@sql='' 尽管这显示了0次物理读取 它显示了大约17000个逻辑读取 任何解释???请查看以下问题和答案: 请注意,这些都是翻页。这是相关的 可能性: 索引不正确或不充分。是否有任何已筛选字段已编入索引?索引有多宽(见下文) 页面密度差。你的索引的填充系数是多少?如果它太低,你会为此拉很多页 非常广泛的索引。如果你有索引,但是它们有很多字段,或者是很宽的字段,那么每页
SELECT@sql=NULL,其中@sql=''
尽管这显示了0次物理读取
它显示了大约17000个逻辑读取
任何解释???请查看以下问题和答案: 请注意,这些都是翻页。这是相关的 可能性:
- 索引不正确或不充分。是否有任何已筛选字段已编入索引?索引有多宽(见下文)
- 页面密度差。你的索引的填充系数是多少?如果它太低,你会为此拉很多页
- 非常广泛的索引。如果你有索引,但是它们有很多字段,或者是很宽的字段,那么每页的行数就会减少
你在问什么?是“什么是逻辑读取?”还是“为什么我得到了这些数字?”如果第二个请显示更多的上下文(函数定义,您如何调用它),您是否也从探查器或
在输出上设置统计IO?您列出的查询只是一个变量赋值,不生成任何IO数据,因此,我怀疑您忘记了向我们显示您看到读取的实际查询(或多个查询)。如果涉及到表,我同意您的看法,但看看查询,没有表!!