如何解决这个 SHOWPLAN 可以改进什么?
DECLARE @id int = NULL
DECLARE @sh nvarchar(10) = NULL
SELECT wm.Id,stl.Key,rrrwm.Id
FROM wm
INNER JOIN wmstp ON wm.Id = wmstp.Id and wmstp.Status = 'A'
AND (@id IS NULL OR wm.id = @id)
INNER JOIN stl ON wmstp.Key = stl.Key
AND wmstp.Code = stl.Code and stl.Status ='A' and stl.Type = 'LB'
AND (@sh IS NULL OR wmstp.Key = @sh)
INNER JOIN ma ON stl.Key = ma.Key AND ma.Status = 'Y'
INNER JOIN mac ON ma.Id = mac.Id AND mac.Status = 'Y'
INNER JOIN maca ON mac.Id = maca.Id
LEFT JOIN rrr ON ma.Id = rrr.Id
LEFT JOIN rrrwm ON rrr.Id = rrrwm.Id
GROUP BY wm.Id,rrrwm.Id
ORDER BY stl.Key ASC
SHOWPLAN
告诉我:
- 并行(收集流)成本:14%
- 排序(不同排序)成本:25%
- Clustered Index Seek (Clustered) [maca] 成本:21%
- 聚集索引扫描(Clustered)[ma] 成本:9%
- 聚集索引查找(聚集)[stl] 成本:15%
所有这些表都有索引,那么我可以做些什么来改善 sql Server 2012 上的查询时间?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。