在oracle 12c中,尝试通过执行多次联接和过滤数据来获取数据,然后使用rownum执行分页时,首先对表进行联接和过滤,然后对结果集按order by排序,然后提取数据。因此,在大量行的情况下,所有联接操作都非常昂贵。即使我们只需要一百万个结果集中的100个,仍然需要准备所有数据。有什么想法可以简化这个过程吗?
答案 0 :(得分:0)
如果只需要一部分数据,则可以使用FIRST_ROWS(n)
提示查询。
Improved Response Time with FIRST_ROWS(n) Hint for ORDER BY Queries
如果要在尽可能短的时间内获得第n个行,请使用FIRST_ROWS(n)提示。