SQL逻辑读取

时间:2012-06-10 09:51:24

标签: sql sql-server-2008 logical-reads

我有一个运行很多的查询,因为它在一个为大行集调用的函数中。

查询为SELECT @sql = NULL WHERE @sql = ''

尽管这显示了0个物理读数。

它向我展示了大约17000个逻辑读取。

任何解释??

1 个答案:

答案 0 :(得分:1)

请看以下问题&答案:

https://dba.stackexchange.com/questions/9302/why-so-many-logical-reads

  

这些是页面读取,请注意。这是相关的。

     

的可能性:

     
      
  • 索引不正确或不足。是否已将任何筛选字段编入索引?索引有多宽(见下文)?
  •   
  • 页面密度差。你可能拥有的任何指数的填充因子是什么?如果它太低了,你就会为此拉大量页面。
  •   
  • 非常宽的索引。如果你有索引但它们有很多字段或非常宽的字段,那么每页的行数会减少。
  •   
     

我猜你有一个表或聚集索引扫描发生在   这些标准中的至少一个,并且表格是宽泛的,导致a   无论您实际需要多少数据,都要读取大量数据。