下面的选择查询中可以进行任何优化吗?
SELECT
AwardAction.strActionName, AwardType.strAwardName,
Award.strStudentId,Award.iCount
FROM
[dbo].[Awards] Award, [dbo].[AwardAction] AwardAction,
[dbo].[AwardTypes] AwardType
WHERE
AwardType.ApplicationId=@ApplicationId and
Award.ID=@ID and
AwardAction.Action=Award.Action and
AwardType.Type=Award.Type
桌子的设计是这样的
抱歉,我无法将问题移至codereview,因为它已经有了答案
您最好编写显式联接:
SELECT
AwardAction.strActionName, AwardType.strAwardName,
Award.strStudentId,Award.iCount
FROM
[dbo].[Awards] Award
inner join [dbo].[AwardAction] AwardAction on AwardAction.Action=Award.Action
inner join [dbo].[AwardTypes] AwardType on AwardType.Type=Award.Type
WHERE
AwardType.ApplicationId=@ApplicationId and
Award.ID=@ID
为了优化查询的执行,您必须在行AwardType.ApplicationId,Award.Type和Award.Action上定义索引。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句