0
我有这样的事情:LEFT JOIN或选择选择(SQL - 查询的速度)
SELECT CompanyId
FROM Company
WHERE CompanyId not in
(SELECT CompanyId
FROM Company
WHERE (IsPublic = 0) and CompanyId NOT IN
(SELECT ShoppingLike.WhichId
FROM Company
INNER JOIN
ShoppingLike ON Company.CompanyId = ShoppingLike.UserId
WHERE (ShoppingLike.IsWaiting = 0) AND
(ShoppingLike.ShoppingScoreTypeId = 2) AND
(ShoppingLike.UserId = 75)
)
)
它有3个选择,我想知道我怎么能有它未做3种选择,而这一个有100万条记录更好的速度? “select in select”或“left join”?
如果性能出现问题,请尝试使用硬件上数据库上数据的每个版本,并查看哪个更快。 –
它有两个问题,我无法准备左连接,对于大数据我无法测试它,因为我没有:(如果MS SQL为你做了 – dan
,那么不要担心,因为它的优化器会优化你可以在companyId上创建索引,以帮助MS SQL更快地完成查询。 – Mahmoud