1

https://docs.microsoft.com/en-us/sql/t-sql/queries/select-order-by-clause-transact-sql?view=sql-server-2017#Offset

根据本文,我们在使用 Azure SQL 数据仓库时没有分页(偏移)。在不损失性能的情况下,是否有其他选择可以实现。我对 ROW_NUMBER() 进行了调查,但在尝试为每次执行创建临时表时遇到了临时表问题。

考虑到这一点,希望它可能不是大量使用的解决方案。

任何指针表示赞赏。

下面是生成临时问题。数据库中已经有一个名为“QTable_afe4f02abd464b7cb30e0c70a06d65be”的对象。同样,删除重新创建的临时表可能不可行,因为这是通过 API 公开的,大量客户端将使用该表

SELECT * FROM
    (
        SELECT
           A.Col1, A.Col2
            ROW_NUMBER() OVER (ORDER BY Col1 DESC) AS RowNum
        FROM table1 A
        LEFT OUTER JOIN Table2 B ON B.Col1 = A.Col1
    ) AS OrderedOutput
    WHERE OrderedOutput.RowNum BETWEEN @startRow AND @endRow

寻找 OFFSET 和 FETCH 的替代品。

4

0 回答 0