小编Moo*_*ons的帖子

涉及超过一百万行的 Top、Order By 和 Where 条件的性能问题

我有一个查询,如下所示:

Declare @CompanyID as int = 10;

Select Top 50  UserID, AuditTypeID , [Action], ActionDate , [Description] , 
RecordID, S.ID as SiteUserID from AuditTrial A

inner Join SiteUser S on S.ID = A.UserID

where A.CompanyID = @CompanyID And A.AuditTypeID <> 1 
And 

UserID in 
(
    1,2,3 -- will be a subquery - will have upto 100+ rows.
)

Order by ID desc -- Latest rows
Run Code Online (Sandbox Code Playgroud)

这是一个稍大一点的查询的一部分,我暂时删除了一些额外的条件,甚至这个剥离的查询运行得更慢。

关键是前 50 名按 ID最新订购带有用户 ID …

sql-server stored-procedures sql-server-2016

3
推荐指数
1
解决办法
162
查看次数