错误示例
select *
from (select * from FUSION_ITEM t order by item_id)
where rownum <= v_page * size and rownum>(page-1)*size;
正确示例
select item_id,item_name,long_description,item_desc
from (
select item_id,item_name,long_description,item_desc , rownum row_no
from (select * from FUSION_ITEM t order by item_id)
where rownum <= v_page * v_size ) a
where row_no > = (v_page-1)*size+1;
本文对比了一种错误的SQL分页查询写法与正确的优化后的写法。错误示例使用了两次子查询并直接利用ROWNUM进行筛选,这种方式在大量数据情况下效率低下。正确示例通过增加一个ROW_NO字段来标记行号,并且只在外部查询中进行行号的判断,以此减少数据库的负担,提高查询效率。
1594

被折叠的 条评论
为什么被折叠?



