首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分页查询优化

分页查询优化
EN

Stack Overflow用户
提问于 2021-03-10 23:00:30
回答 1查看 26关注 0票数 1

分页查询优化

如果你能给出你的见解,那将是一个真正的帮助。

我有一个具有多个连接和过滤条件的查询,结果被排序,最后只检索到100条记录。哪一个更有效率?

选项1:

代码语言:javascript
复制
select * from

( SELECT INTR.col1 AS ID

        FROM INTR, TR, J

        WHERE

            INTR.col1 > ?

            AND ........

            AND ........

            AND ........

        ORDER BY INTR.col1

)

where rownum <= 100;

选项2:

代码语言:javascript
复制
SELECT INTR.col1 AS ID

        FROM INTR, TR, J

        WHERE

            INTR.col1 > ?

            AND ........

            AND ........

            AND ........

   AND rownum <= 100;

选项2将是更好的选择,如果我们可以摆脱排序,并选择100条记录,我们有它。我怎么确认呢?请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2021-03-10 23:22:00

第二种选择更有优势,原因很明显,你不需要排序。

缺点(通常也是需要选项1的原因)是第二个选项提供了不稳定的结果,即如果数据不变,每次可能会得到不同的100行事件。

顺便说一句,Oracle可以优化第一个选项,您不需要对整个游标结果进行排序,只需找到前N行并将它们排序返回即可。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66567344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档