Pரத*_*ீப் 1 sql sql-server sql-execution-plan
Parallelism(Distribute Streams)中的操作是什么Execution plan?为什么它增加了上一个操作的行数。
询问 :
SELECT TOP 5000 MM.MEMBER_ID,
MM.MEMBER_NO,
MM.MEMBER_NAME,
MM.TRADE_CLASS,
MT.DESCRIPTION,
MS.DESCRIPTION,
MAI.ADDRESS_1,
MAI.ADDRESS_2,
MAI.CITY,
MAI.STATE,
MAI.ZIP
FROM MEMBER_MASTER MM
INNER JOIN MEMBER_TYPE MT
ON MT.CODE = MM.MEMBER_TYPE
INNER JOIN MEMBER_STATUS MS
ON MS.CODE = MM.MEMBER_STATUS
INNER JOIN MEMBER_ADDRESS_INFO MAI
ON MM.MEMBER_ID = MAI.MEMBER_ID
WHERE MAI.PRIMARY_ADDRESS_FLAG = 'YES'
Run Code Online (Sandbox Code Playgroud)
执行计划:

从上面的执行计划可以清楚地看到行数从39,771增加到1,272,672。为什么会发生这种情况?
系统认为它可以从并行执行某些处理中受益。在本例中,显然决定让 32 个独立线程处理该行集 (1272672 = 39771*32)。一般来说,这不应该引起关注,并且“重复”行将被稍后的(Gather Streams)操作消除。
| 归档时间: |
|
| 查看次数: |
2010 次 |
| 最近记录: |