转自:https://docs.microsoft.com/zh-cn/sql/relational-databases/showplan-logical-and-physical-operators-reference?view=sql-server-2017

SQL Server

Management Studio中的图形执行计划选项或 SQL Server Profiler Showplan 事件类来查看查询计划。

运算符分为逻辑运算符和物理运算符。

换言之,逻辑运算符从概念上描述了需要执行哪些操作。

物理运算符具有与其关联的开销。

具体来讲,物理运算符可以响应下列三种方法调用:

  • 尽管一个物理运算符通常只接收一次 Init() 调用,但也可以接收许多次调用。

  • 物理运算符可以不接收 GetNext() 调用,也可以接收许多次调用。

  • 一个物理运算符只接收一个 Close() 调用。

    SET STATISTICS XML (Transact-SQL)。

    重绕意味着任何相关参数都没有发生更改,可以重用之前的内侧结果集。

    如果ActualRebinds 属性设置为 TRUE,也会为 ActualRebinds 和 ActualRebinds 属性设置为 TRUE,也会为 ActualRebinds 和 ActualRewinds 。

    注意,如果它们没有显示,实际的图形显示计划输出中将实际的重新绑定次数和重绕次数均显示为零。

    扫描结束的次数应少于或等于重新绑定次数与重绕次数之和。

映射物理运算符和逻辑运算符

查询优化器使用基于开销的方法确定将实施逻辑运算符的物理运算符。

但是在少数情况下,一个物理运算符也可以实施多个逻辑操作符。

操作说明

本节介绍了各个逻辑运算符和物理运算符。

图形执行计划图标                                                Showplan 运算符                                                描述
自适应联接 通过自适应联接运算符,在扫描第一个输入后可延迟选择哈希联接或嵌套循环联接方法。
None Aggregate Aggregate 既是一个逻辑运算符,也是一个物理运算符。
Arithmetic Expression SQL Server 2017
ActualRebinds Assert 运算符是一个物理运算符。
Assign Assign 是一个语言元素。
None Async Concat 对于为 1 的每个位, Async Concat 按需向父节点发送输出行。
Bitmap Bitmap 是一个物理运算符。
Bitmap Create Bitmap Create 是一个逻辑运算符。
Bookmark Lookup Key Lookup 运算符也提供此功能。
None Branch Repartition Branch Repartition 和 Segment Repartition 是逻辑运算符。
None Broadcast 例如,如果所有使用者都是哈希联接的生成端,则将生成 n 份哈希表。
Build Hash 指示为 xVelocity 内存优化的列存储索引生成批处理哈希表。
None Cache SQL Server 2017。
Clustered Index Delete 如果 Argument 列中存在 WHERE:() 谓词,则仅删除满足该谓词的行。Clustered Index Delete 是一个物理运算符。
Clustered Index Insert 如果 Clustered Index Insert 的插入值没有子项,则插入的行来自 Insert 运算符本身。Clustered Index Insert 是一个物理运算符。
Clustered Index Merge Clustered Index Merge 是一个物理运算符。
Clustered Index Scan Clustered Index Scan 既是一个逻辑运算符,也是一个物理运算符。
Clustered Index Seek Clustered Index Seek 既是一个逻辑运算符,也是一个物理运算符。
Clustered Index Update Clustered Index Update 既是一个逻辑运算符,也是一个物理运算符。
折叠 Collapse 既是一个逻辑运算符,也是一个物理运算符。
Columnstore Index Scan Columnstore Index Scan 运算符会扫描查询执行计划的 Argument 列中指定的列存储索引。
Compute Scalar 另外,请注意,SET STATISTICS PROFILE 生成的显示计划输出中的执行数等于 SET STATISTICS XML 生成的显示计划中的重新绑定次数和重绕次数的总和。
Concatenation Concatenation 既是一个逻辑运算符,也是一个物理运算符。
Constant Scan Compute Scalar 运算符通常在 Constant Scan 之后使用,以将列添加到 Constant Scan 运算符生成的行中。
转换 Convert 是一个语言元素。
None Cross Join Cross Join 是一个逻辑运算符。
catchall Transact-SQL 语言元素)。
None 游标 物理运算符包括 Dynamic、Fetch Query、Keyset、Population Query、Refresh Query 和 Snapshot。
Declare Declare 是一个语言元素。
删除 Delete 运算符将从对象中删除满足 Argument 列内的可选谓词的行。
Deleted Scan Deleted Scan 运算符在触发器中扫描删除的表。
None Distinct Distinct 是一个逻辑运算符。
None Distinct Sort Distinct Sort 是一个逻辑运算符。
Distribute Streams Distribute Streams 是一个逻辑运算符。
Dynamic Dynamic 运算符使用可以查看其他游标所做的任何更改的游标。
Eager Spool Eager Spool 是一个逻辑运算符。
Fetch Query 当对游标发出提取命令时, Fetch Query 运算符将检索行。
Filter Filter 运算符扫描输入,仅返回那些符合 Argument 列中的筛选表达式(谓词)的行。
None Flow Distinct 虽然 Distinct 运算符在生成任何输出前使用所有的输入,但 FlowDistinct 运算符在从输入获得行时会返回每行(除非该行是一个重复项,若是这样则删除该行)。
None Full Outer Join Full Outer Join 是一个逻辑运算符。
Gather Streams Gather Streams 是一个逻辑运算符。
Hash Match Hash Match 是一个物理运算符。
如果 If 是一个语言元素。
None Inner Join Inner Join 逻辑运算符返回满足联接第一个(顶端)输入与第二个(底端)输入的每一行。
Insert 相应的物理运算符为 Table Insert、 Index Insert或 Clustered Index Insert 运算符。
Inserted Scan Inserted Scan 既是一个逻辑运算符,也是一个物理运算符。
Intrinsic Intrinsic 是一个语言元素。
迭代器 Transact-SQL 语言构造)。
Key Lookup 例如,添加涵盖索引可能会提高查询性能。
Keyset Keyset 运算符使用的游标可用于查看其他用户所做的更新,而不能查看其他用户所做的插入。
Language 元素 Transact-SQL 语言构造)。
Lazy Spool Lazy Spool 是一个逻辑运算符。
None Left Anti Semi Join Left Anti Semi Join 是一个逻辑运算符。
None Left Outer Join Left Outer Join 是一个逻辑运算符。
None Left Semi Join Left Semi Join 是一个逻辑运算符。
Log Row Scan Log Row Scan 既是一个逻辑运算符,也是一个物理运算符。
Merge Interval Merge Interval 既是一个逻辑运算符,也是一个物理运算符。
合并联接 Merge Join 是一个物理运算符。
Nested Loops Nested Loops 是一个物理运算符。
Nonclustered Index Delete Nonclustered Index Delete是一个物理运算符。
Index Insert Index Insert 是一个物理运算符。
Index Scan Index Scan 既是一个逻辑运算符,也是一个物理运算符。
Index Seek Index Seek 既是一个逻辑运算符,也是一个物理运算符。
Index Spool 如果重绕该运算符(例如通过 Nested Loops 运算符重绕),但不需要任何重新绑定,则将使用假脱机数据,而不用重新扫描输入。
Nonclustered Index Update Nonclustered Index Update 是一个物理运算符。
Online Index Insert 也就是说,基础表数据在索引操作期间仍然对用户可用。
None Parallelism 请注意,如果服务器上的并发负荷很高,则并行查询计划有时会以串行方式运行。
Parameter Table Scan Parameter Table Scan 既是一个逻辑运算符,也是一个物理运算符。
None Partial Aggregate Partial Aggregate 是一个逻辑运算符。
Population Query Population Query 运算符在打开游标时填充游标的工作表。
Refresh Query Refresh Query 运算符为提取缓冲区中的行提取当前数据。
Remote Delete Remote Delete 既是一个逻辑运算符,也是一个物理运算符。
Remote Index Scan Remote Index Scan 既是一个逻辑运算符,也是一个物理运算符。
Remote Index Seek Remote Index Seek 是一个逻辑物理运算符。
Remote Insert Remote Insert 既是一个逻辑运算符,也是一个物理运算符。
Remote Query Remote Query既是一个逻辑运算符,也是一个物理运算符。
Remote Scan Remote Scan 既是一个逻辑运算符,也是一个物理运算符。
Remote Update Remote Update 既是一个逻辑运算符,也是一个物理运算符。
Repartition Streams 该运算符只用于并行查询计划中。
结果 Result 是一个语言元素。
RID Lookup Bookmark Lookup(书签查找)。
None Right Anti Semi Join Right Anti Semi Join 是一个逻辑运算符。
None Right Outer Join Right Outer Join 是一个逻辑运算符。
None Right Semi Join Right Semi Join 是一个逻辑运算符。
Row Count Spool Row Count Spool 是一个物理运算符。
然后此运算符每次输出一个段。
None Segment Repartition Branch Repartition 和 Segment Repartition 是逻辑运算符。
序列 Sequence 既是一个逻辑运算符,也是一个物理运算符。
Sequence Project Sequence Project 既是一个逻辑运算符,也是一个物理运算符。
快照 Snapshot 运算符创建一个看不到其他人所做更改的游标。
Sort Sort 既是一个逻辑运算符,也是一个物理运算符。
Split Split 既是一个逻辑运算符,也是一个物理运算符。
Spool Spool 运算符将中间查询结果保存到 tempdb 数据库中。
Stream Aggregate Stream Aggregate 是一个物理运算符。
开关 Switch 既是一个逻辑运算符,也是一个物理运算符。
Table Delete Table Delete 物理运算符删除查询执行计划的 Argument 列中所指定表中的行。
Table Insert Table Insert 是一个物理运算符。
Table Merge Table Merge 是一个物理运算符。
Table Scan Table Scan 既是一个逻辑运算符,也是一个物理运算符。
Table Spool Table Spool 是一个物理运算符。
Table Update 可以在 SET 子句中、此运算符内的其他位置以及此查询内的其他位置引用这些值。
Table-valued Function Table-valued Function 既是一个逻辑运算符,也是一个物理运算符。
Top Top 既是一个逻辑运算符,也是一个物理运算符。
None Top N Sort 如果 N的值较大,查询执行引擎将使用更通用的排序方法(该方法不采用 N 作为参数)重新排序。
UDX 扩展运算符 UPDATE XML NODE 更新 XML 类型上的 modify() 方法中 XQuery 替换数据修改扩展中的 XML 节点。
None Union Union 是一个逻辑运算符。
Update 物理运算符为 Table Update、 Index Update或 Clustered Index Update。
While While 是一个语言元素。
Window Spool Window Spool 既是一个逻辑运算符,也是一个物理运算符。

相关文章:

  • 2021-06-19
  • 2021-06-10
  • 2022-12-23
  • 2021-11-30
  • 2021-09-07
  • 2021-12-10
  • 2021-08-08
  • 2021-12-08
猜你喜欢
  • 2021-05-30
  • 2022-12-23
  • 2022-12-23
  • 2021-07-21
  • 2022-01-12
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案