联合视图与Sql中的分页行号

时间:2013-11-11 08:38:51

标签: sql sql-server-2005

我有一个视图,它包含我在SQL中的存储过程中使用的5个表之间的联合。基本上我想为这个视图和我添加分页;我设法这样做,因为我将在下面向您展示。主要问题是它;它相当慢。我主要是一个Linq有点人,所以优化这个证明是棘手的:

SET @PageSelect = 'SELECT myFields,
        RowNumber FROM 
    (
        SELECT myFields,
            ROW_NUMBER() OVER (ORDER BY CreateDate DESC, ProductID) AS RowNumber 
        FROM'+ @myView+' 
    ) AS BasicSource
    WHERE RowNumber BETWEEN ' + 
    CAST(@inPage * @inPageSize - @inPageSize + 1 AS NVARCHAR) + ' AND ' + CAST(@inPage * @inPageSize AS NVARCHAR) + 
    ' ORDER BY RowNumber'

这基本上是我的工作代码,但它需要优化,我不知道我还能做些什么来优化它 问题1: 视图是否返回其所有值(先执行)?它返回大约2密耳的结果,并解释了为什么它花了这么长时间。
问题2:我可以在视图中插入某种分页(即使我将整个视图代码移到我的SP中)

谢谢

0 个答案:

没有答案