有一张大桌子T
sID Int PK
pos Int PK
wID Int PK
自我加入
T2.sID = T1.sID
T2.pos = T1.pos + 1
T1.wID = 'alpha'
T2.wID = 'beta'
在(wID, sID)
上添加了一个索引,确定它有很多帮助(很多)
在执行计划中注意到输出是sID,pos
因此将索引更改为(wID, sID, pos)
。
让我感到惊讶的是查询计划保持不变并且执行时间没有改善
所以将索引更改为(wID)
相同的查询计划和相同的执行时间
显然,将使用较小的索引来获得相同的性能
我的问题是为什么较小的指数有效?
是因为额外的数据是PK吗?