新版本的SQL Management Studio呈现书签查找,如下图所示。这让我觉得这个操作独立于Index Seek(并且可以并行运行?)。索引寻求不应该先完成?它的输出(物理行ID)是Key Lookup的输入,对吗?
答案 0 :(得分:1)
您问题中的计划显示了一个键查找。这种类型的查找使用的逻辑标识符(聚集索引键)不是您问题中所述的物理标识符。
该操作并非独立于Index Seek,因为索引seek会返回在键查找中查找的逻辑键值。
屏幕截图中显示的执行计划是串行不平行的。它运行在一个线程上,因此不是另一个线程忙于执行键查找而第一个执行索引搜索的情况。
可以通过密钥查找获得并行计划
但是,这会将行划分为不同的线程,并且每个线程在其自己的行集上有效地作为串行计划运行,因此对于特定行集的迭代器将独立运行的情况仍然不是这样的。平行。
对于串行或并行计划,嵌套循环运算符可以使用prefetch。这会发出嵌套循环连接内部所需页面的异步I / O(在这种情况下通过键查找)
无序预取允许连接的内侧继续 使用任何I / O发生的数据首先完成。