如何比较两条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)

目前没有实际数据,那么如何可以判断哪条语句的效率会更好呢?
展开
 我来答
百度网友e392bfd
2014-11-18
知道答主
回答量:20
采纳率:0%
帮助的人:22.2万
展开全部

查看执行计划,消耗更少的效率更好。。

追问
我的是SQL Server,你给的工具似乎是Oracle专用的。
gy93108083
2014-11-18 · TA获得超过283个赞
知道小有建树答主
回答量:665
采纳率:50%
帮助的人:273万
展开全部
 如果我写我肯定分两句
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
追问
重点是执行效率的分析方法,不是语句该怎么写。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式