oracle优化

2021/6/15 19:21:56

本文主要是介绍oracle优化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、rownum关键字

1)rownum是一个伪列,需要在数据取出来后,rownum才会有值,因此在分页查找时,需要进行嵌套查询。

select sal,ename from
 (select rownum as rn,sal,ename from    
   (select sal,ename from emp where sal is not null order by sal) x
 where rownum<10)
where rn>6

2)rownum和orderby不要同时再一个查询里,因为oracle会先给伪劣赋值,然后再排序

 

2、rownum和rowid的区别

Rownum 是逻辑地址。表示查询某条记录在整个结果集中的位置,同一条记录查询条件不同对应的rownum是不同的而 rowid是不会变的。
Rowid是物理地址。用于定位数据表中某条数据的位置,是唯一的、不会改变,查询速度快。

3、选择最有效率的表名顺序(只在基于规则的优化器中有效)。
ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询,那就需要选择交叉表(intersection table)作为基础表,交叉表是指那个被其他表所引用的表。

4、



这篇关于oracle优化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程