The*_*war 9 sql-server execution-plan operator
我试图回答这个问题,说明 from 子句是可选的。
如您所见,查询计划中有 BMK 运算符,但没有指示显示它是如何计算的。
到目前为止
我尝试过的步骤:我开始使用 BMK1000 进行搜索,但它显示了一堆使用相同运算符的问题。最后我找到了一个线程,上面写着“您所引用的 BMK 是堆中的存储位置,被保留使用非聚集索引而不是簇键。”..但不确定这与我有什么关系,因为我没有任何索引..
问:
什么是 BMK 运算符以及它是如何计算的。任何指针也会有所帮助
Mar*_*ith 12
它本身不是运营商。它是堆上表扫描运算符的输出列。它是包含行的物理地址的“书签”(这与短语“书签查找”中提到的书签相同)。
这沿着管道传递到更新操作符,因此它知道它应该更新的行。
在 SQL Server 2016 中,您可以使用query_trace_column_values
扩展事件查看此列的实际值
将这些插入sys.fn_PhysLocFormatter
显示file:page:slot
SELECT sys.fn_PhysLocFormatter(0xB002000001),
sys.fn_PhysLocFormatter(0xB0020000010001)
Run Code Online (Sandbox Code Playgroud)
退货
+------------------+------------------+
| (No column name) | (No column name) |
+------------------+------------------+
| (1:688:0) | (1:688:1) |
+------------------+------------------+
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2482 次 |
最近记录: |