我在获得一个快速的 sql 查询时遇到了一些麻烦。我已经设法得到一个查询来返回我想要的结果,但即使使用正确的索引也需要大约 2 sek 才能运行。
我有这些表:
[Login]
loginID
loginTime
userID
[user]
userID
userName
[companyParticipant]
userID
companyID
[company]
companyID
organisationID
CompanyName
我想展示的是所有登录时间排名前 10 位的最新登录人。用户所在的公司是我的参与者或组织内的公司,而我是该组织的公司的成员
获取我的组织:
SELECT organisationID
FROM companys
WHERE companyID IN (
SELECT companyID
FROM companyParticipant
WHERE userID = @userID)
GROUP BY organisationID
所以我想要这样的查询:
SELECT TOP 10 userName, LoginTime
FROM ....
ORDER BY loginID