ITPub博客

首页 > 数据库 > Oracle > 加快排序与分页

加快排序与分页

原创 Oracle 作者:wmlm 时间:2007-03-20 17:48:33 0 删除 编辑

在狼行天下的 blog中发现以下内容,可以排序与分页row_number() over(order by create_time desc) rk

[@more@]

在开发中应用

慢

select B.*
from (select A.*, ROWNUM ROWNO
from (select A.TITLE,
TO_CHAR(A.CREATE_TIME, 'YYYY.MM.DD') AS CREATE_TIME,
A.AUTHOR_ID,
A.DOC_ID,
A.ABSTRACT,
A.PIC_ID AS IMAGE_ID,
B.TYPE_ID
from CT_DOCUMENT_L A,
(SELECT DOC_ID, TYPE_ID, ROWNUM AS ROWNO
FROM RL_CT_DOC_ITEM
WHERE ITEM_ID = 4581) B
WHERE A.DOC_ID = B.DOC_ID
and A.STATUS = 10
) A) B
where B.ROWNO between 1 and 20

快
select * from (
select bb.TITLE,TO_CHAR(bb.CREATE_TIME, 'YYYY.MM.DD') AS CREATE_TIME,
bb.AUTHOR_ID,aa.DOC_ID,bb.ABSTRACT,bb.PIC_ID AS IMAGE_ID,bb.TYPE_ID
, row_number() over(order by bb.type_id,bb.create_time desc) rk
from rl_ct_doc_item aa,CT_DOCUMENT_L bb
where aa.DOC_ID=bb.DOC_ID
and aa.ITEM_ID= 4581
and bb.STATUS= 10
) B
where B.rk between 1 and 20

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

请登录后发表评论 登录
全部评论

注册时间:2008-04-08

  • 博文量
    398
  • 访问量
    3716778