(Oracle)SQL优化技巧:分页查询
-- 假设我们有一个订单表 orders,需要对订单按照创建时间进行分页查询
-- 这里的SQL语句展示了如何使用ROWNUM进行分页查询
SELECT *
FROM (
SELECT
o.*,
ROWNUM rnum
FROM
orders o
ORDER BY
o.created_at DESC
)
WHERE
rnum > :start_row AND rnum <= :end_row;
在这个例子中,:start_row
和 :end_row
是绑定变量,分别代表分页查询的开始行号和结束行号。这种方法在早期的Oracle数据库版本中较为常见,但在Oracle 12c版本以后,推荐使用更现代的分页方法,如使用FETCH和OFFSET子句。
评论已关闭