>  기사  >  데이터 베이스  >  Oracle SQL性能优化调整的几点基础事项

Oracle SQL性能优化调整的几点基础事项

WBOY
WBOY원래의
2016-06-07 17:06:14858검색

1. 选择最有效率的表名顺序 SQL的解析器按照从右到左的顺序处理FROM子句中的表名, FROM子句中包含多个表的情况下,你必须选择记录

1.  选择最有效率的表名顺序

SQL的解析器按照从右到左的顺序处理FROM子句中的表名, FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。

例如:

表 TAB1 16,384条记录    表 TAB2  1条记录

选择TAB2作为基础表 (最好的方法):

select count(*) from tab1,tab2   ----执行时间0.96秒

选择TAB1作为基础表 (不佳的方法):

select count(*) from tab2,tab1   ----执行时间26.09秒

2.  3个以上的表连接查询

如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表。

例如:

EMP表描述了LOCATION表和CATEGORY表的交集

SELECT *  FROM LOCATION L , CATEGORY C, EMP E

WHERE E.EMP_NO BETWEEN 1000 AND 2000

AND E.CAT_NO = C.CAT_NO

AND E.LOCN = L.LOCN

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.