我要加入两个叫Zasilka和Kapitola的桌子。每个人都有一个聚集索引,而Kapitola也有一个非聚集索引,其中包含我要加入的列。
查询使用索引查找,因为它只希望返回1行。
两个表的统计信息都已更新。
我尝试禁用索引,然后使用合并联接,但必须首先对约40000行进行排序,这会占用大量资源。
索引列大多是有序的,但在某些情况下则没有。我只是尝试考虑什么是加入这些表并避免顺序或寻求的最佳策略。
而且我不知道为什么它不使用非聚簇索引来合并合并。
答案 0 :(得分:1)
我相信您正在误读展示计划中的信息。估计是子树的每次执行。它估计每次子树执行将返回1行,并且它将执行子树71,000次。 (估计不少于一个)。由于包含假设,它认为在查找时会找到一行(基于通常的客户行为来假设优化器)。实际上,您将获得大约46,000行。因此,在这种情况下,优化程序正在按预期工作。
将来,请发布查询文本,模式和整个计划形状。截取大部分计划形状的屏幕快照时,要做的比猜测更难。