如何比较两条SQL查询语句的效率? 50
我有个登录记录表,包括ID、UserID、LogTime、LogIP字段,记录了每个用户的登录时间和登录IP。现在需要查询出每个用户最近登录的时间和IP来,我写有两种方式...
我有个登录记录表,包括ID、UserID、LogTime、LogIP字段,记录了每个用户的登录时间和登录IP。
现在需要查询出每个用户最近登录的时间和IP来,我写有两种方式:
select a.* from LoginLog a inner join(select UserID,MAX(logtime) as maxdtime from LoginLog group by UserID) b on a.UserID=b.UserID and a.LogTime=b.maxdtime
select a.* from LoginLog a where not exists(select 1 from LoginLog b where b.UserID=a.UserID and b.LogTime>a.LogTime)
目前没有实际数据,那么如何可以判断哪条语句的效率会更好呢? 展开
现在需要查询出每个用户最近登录的时间和IP来,我写有两种方式:
select a.* from LoginLog a inner join(select UserID,MAX(logtime) as maxdtime from LoginLog group by UserID) b on a.UserID=b.UserID and a.LogTime=b.maxdtime
select a.* from LoginLog a where not exists(select 1 from LoginLog b where b.UserID=a.UserID and b.LogTime>a.LogTime)
目前没有实际数据,那么如何可以判断哪条语句的效率会更好呢? 展开
展开全部
如果我写我肯定分两句
select UserID,MAX(logtime) as maxdtime into ##tmpTbale from LoginLog group by UserID
select a.* from LoginLog a where exists(select * from ##tmpTbale b where b.UserID=a.UserID and b.LogTime=a.LogTime)
drop table ##tmpTbale
追问
重点是执行效率的分析方法,不是语句该怎么写。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询