Home  >  Article  >  Database  >  Oracle SQL性能优化调整的几点基础事项

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

WBOY
WBOYOriginal
2016-06-07 17:06:14858browse

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn