您好,欢迎访问一九零五行业门户网

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

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

其它类似信息

推荐信息