SqlProfiler扫描启动不好吗?

时间:2010-03-13 20:20:24

标签: sql-server sqlprofiler

如果在SqlProfiler中你可以看到执行查询“扫描已启动”,这是指全表扫描还是仅仅是查找?如果两者兼而有之,你怎么知道它们中的哪一个呢?

1 个答案:

答案 0 :(得分:4)

来自documentation

  

启动表扫描或索引扫描时会发生扫描:已启动事件类。

所以它可能是其中之一。 IndexID字段会告诉您它是否为索引,以及哪一个。

并非真的非常重要。聚簇索引扫描基本上表扫描。非聚集索引扫描更好,但只有一点点。如果您看到任何完整扫描,则表示(a)您在未编制索引的字段上使用非可搜索谓词或谓词,或者(b)谓词字段已编制索引但输出列未包含在内index,并且优化器已经确定执行完全扫描比书签/ RID查找更便宜。

在性能方面,索引扫描通常不比表扫描好得多,所以如果可能的话,你应该尝试消除导致它的任何内容。