2017-11-15 1 views
1

私のSQLスクリプトはBEGIN ENDブロックで10のクエリを持っています。私はそれぞれのクエリのパフォーマンスを個別に調べる必要があります。クエリのパフォーマンスチェック

例: 私は、SQLスクリプトを実行すると は、それが* SQLで

BEGIN 
query1 
performance data for query one 
query2 
performance data for query one 
END 
+0

'設定されたタイミングon'のは、これはSQL * Plusスクリプトであると仮定すると、あなたは後にしているものと考えられます。 – Boneist

+0

簡単な方法は、SQLトレースを有効にすることです。 参照:https://docs.oracle.com/database/121/TGSQL/tgsql_trace.htm#TGSQL812。 より良い方法は、DBMS_HPROFを使用することですが、それはより困難です。 参照:https://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_hprof.htm#BABFDCAA –

+0

また、ログ表を作成し、各問合せの開始/終了時刻を記録します。 – Boneist

答えて

0

よう を実行しているプラ​​ス、あなたが取得するタイミングをONに設定できたら ので、各クエリのパフォーマンスデータを必要とする10個のクエリがあります各クエリの経過時間これは次のような単純なものです:

set timing on 

select * from t23 
/

select * from t42 
/

select * from t69 
/

set timing off 

しかし、ウォールクロックのタイミングは、パフォーマンスの非常に粗い尺度です。オラクルはさらに多くを提供しています。

フレンドリーなDBAをお持ちの場合は、PLUSTRACEロールを付与するようにしてください。このロールでは、AUTOTRACE ON STATISTICSを設定するだけで、各クエリのリソース消費に関する有益な情報を得ることができます。また、EXPLAINで設定して各クエリー後にExplain Planを取得することもできます。

Find out more

関連する問題