我有以下查询有点慢,因为你可以看到where子句中有几个嵌套查询,任何人都可以想出更好的解决方案吗?如何最小化多个子查询?
SELECT m.briefmedialist,
Count(DISTINCT s.value) AS selected,
m.briefmedialistid
FROM vwmedialistmediachannels m
LEFT JOIN sessionfilters s
ON s.field = 'Media'
AND m.briefmedialistid = s.value
AND s.sessionid = @SessionID
WHERE m.id = (SELECT d.briefid
FROM dashboards d
WHERE d.dashboardguid IN (SELECT value
FROM sessionfilters s
WHERE s.sessionid = @SessionID
AND s.field = 'DashboardID'))
GROUP BY m.briefmedialist,
m.briefmedialistid
ORDER BY m.briefmedialist
您可以添加一个索引,使查询执行得更快 – 2013-07-18 12:10:16
你能告诉我们查询中涉及的表的结构,他们拥有的索引以及该查询试图产生的是什么? –
你是否确定***子查询是性能问题的来源? –