ホームページ > データベース > mysql チュートリアル > Oracle SQL性能优化调整的几点基础事项

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

WBOY
リリース: 2016-06-07 17:06:14
オリジナル
886 人が閲覧しました

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート