ITPub博客

首页 > 数据库 > Oracle > SQL优化问题

SQL优化问题

Oracle 作者:mcxiaoracle 时间:2022-07-29 00:50:50 0 删除 编辑

今天遇到一个oracle 优化问题,因为是数据库是接近2百万的数据,查询出来会比较慢,最后查看了一下是对应的分页问题:

使用rownumer解决,而不是伪劣,区别在哪里呢?

使用rownum进行排序的时候是先对结果集加入伪劣rownum然后再进行排序,而row_number()在包含排序从句后是先排序再计算行号码。


SELECT  *
FROM    (
        SELECT  /*+ INDEX_ASC(t index_on_column) NOPARALLEL_INDEX(t index_on_column) */
                t.*, ROWNUM AS rn
        FROM    table t
        ORDER BY
                column
        )
WHERE rn >= :start
      AND rownum <= :end - :start + 1


结果换成row_number 竟然好了,真是奇怪了,


https://www.codingdict.com/questions/215818




推荐阅读:

https://www.cnblogs.com/tyyking/p/10664944.html

https://blog.csdn.net/weixin_31942999/article/details/116368455





来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69949806/viewspace-2908103/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: if 判断使用
请登录后发表评论 登录
全部评论
数据方向,了解oracle ,IBM DB2 730

注册时间:2019-09-30

  • 博文量
    286
  • 访问量
    226590