Oracle 的分页查询方法里,OFFSET FETCH用起来还挺顺手的,代码简洁,逻辑清晰,响应也快。尤其适合你在做类似电商、社交类大数据量查询时用。嗯,老版本的ROWNUM方式也能搞,但写起来稍微麻烦点,性能上也没新方法稳。如果你数据库版本够新,真心建议用OFFSET FETCH,省事多了。
分页查询的效率提升,索引的作用挺大,别偷懒全字段SELECT *,挑必要的字段查就好。表大得离谱?分区表可以考虑下,扫描数据少,查询自然快了。哦,对了,分页大小也要合理,太大或太小都影响性能,这点不少人踩坑。
Oracle 9i 里的操作系统统计信息功能也蛮有意思,能让优化器更懂系统的运行状态,选出更合适的执行计划。你平时用DBMS_STATS包收集统计信息就行,语法简单,像EXEC DBMS_STATS.GATHER_SYSTEM_STATS('INTERVAL', 1, 'MY_STATISTICS');
,搞完还能查表看看结果。