如果在SqlProfiler中你可以看到执行查询“扫描已启动”,这是指全表扫描还是仅仅是查找?如果两者兼而有之,你怎么知道它们中的哪一个呢?
答案 0 :(得分:4)
启动表扫描或索引扫描时会发生扫描:已启动事件类。
所以它可能是其中之一。 IndexID
字段会告诉您它是否为索引,以及哪一个。
并非真的非常重要。聚簇索引扫描基本上是表扫描。非聚集索引扫描更好,但只有一点点。如果您看到任何完整扫描,则表示(a)您在未编制索引的字段上使用非可搜索谓词或谓词,或者(b)谓词字段已编制索引但输出列未包含在内index,并且优化器已经确定执行完全扫描比书签/ RID查找更便宜。
在性能方面,索引扫描通常不比表扫描好得多,所以如果可能的话,你应该尝试消除导致它的任何内容。