我有这个代码
ALTER PROCEDURE [dbo].[Model_Core_BlogPost_GetLatestPaging]
@PageSize INT,
@CurrentPage INT
AS
BEGIN
DECLARE @PageStart int, @PageEnd int
SET @PageStart = @CurrentPage * @PageSize
set @PageEnd = @PageStart + @PageSize
;with C as (
SELECT
e.blogpostid,
e.PreviewText,
e.Headline,
e.URLHeadline,
u.Blogname,
u.imageurl AS ImageURL,
e.CommentsCount,
e.HitsCount,
e.Created,
ROW_NUMBER() over (order by e.created desc) as rownum
FROM BlogPosts e
INNER JOIN Users u ON e.BlogUserID = u.UserID
WHERE e.[Status] = 1 and e.Deleteddate is null
)
SELECT *
FROM C
WHERE rownum > @pagestart
AND rownum <= @pageend
END
当@CurrentPage 很大并且我经常在我的应用程序中遇到 sql 超时时,我会遇到问题。
任何解决方案的想法?