# 実行時間の長いSQL

  下記例
  ELA_SECが504なので504/60=8.4分
  (EXECUTIONSが2以上の場合はELAPSED_TIME/EXECUTIONSが1回の処理にかかった時間となる)
  
  v$sql
	SQL_TEXT    :SQLの先頭1000bytes 
	SORTS      :SORTの回数 
	FETCHES     :FETCHの回数 
	EXECUTIONS   :実行回数 
	USERS_EXECUTING:現在実行中のユーザー数 
	PARSE_CALLS  :解析コールの回数 
	DISK_READS   :ディスク読み込み数 
	BUFFER_GETS  :バッファ読み込み数 
	ROWS_PROCESSED :SQLが戻す行数 
	CPU_TIME    :処理に使用したCPU時間(マイクロ秒) 
	ELAPSED_TIME  :処理に使用した経過時間(マイクロ秒) 
	ADDRESS    :ほかのViewとの結合に使用 
	HASH_VALUE   :ほかのViewとの結合に使用 


	SET LINES 140
	COL sql_text            FORM A140
	COL buffer_per_run      FORM 999999999999
	COL disk_per_run        FORM 999999999999
	COL cpu_sec             FORM 999999999999
	COL ela_sec             FORM 999999999999
	SELECT * FROM
	(SELECT
	        sql_text,address,hash_value,parse_calls,executions,
	        buffer_gets,disk_reads,
	        buffer_gets/executions buffer_per_run,
	        disk_reads/executions disk_per_run,
		round(cpu_time/1000000,2)     as cpu_sec,
	        round(elapsed_time/1000000,2) as ela_sec
	FROM v$sql
	WHERE executions>0
	ORDER BY ela_sec desc)
	WHERE rownum <= 10;


SQL_TEXT
--------------------------------------------------------------------------------------------------------------------------------------------
select xxxx from ssss where aaaa = 10

ADDRESS          HASH_VALUE PARSE_CALLS EXECUTIONS BUFFER_GETS DISK_READS BUFFER_PER_RUN  DISK_PER_RUN       CPU_SEC       ELA_SEC
---------------- ---------- ----------- ---------- ----------- ---------- -------------- ------------- ------------- -------------
0000000399C6D798 2765004720           1          1      404092     251828         404092        251828           418           504




V$SQL_TEXT ・SQLの全文 
  SQL_TEXT   64bytes単位で分割されたSQL 
  PIECE     分割されたSQLの断片番号 
  ADDRESS   ほかのViewとの結合に使用 
  HASH_VALUE  ほかのViewとの結合に使用 

V$SQL_PLAN ・SQLの実行計画 
  OBJECT_NAME  実行計画中の表、索引名 
  OPERATION    実行計画オペレーション 
  OPTIONS      実行計画オペレーションのオプション 
  OPTIMIZER    オプティマイザのモード 
  DEPTH        実行計画のTreeの深さ 
  ADDRESS      ほかのViewとの結合に使用 
  HASH_VALUE   ほかのViewとの結合に使用 





# V$SQLAREA表から負荷の高いSQLを見つける 負荷の高いSQL文を確認するSQL文?(DISK_READSが大きいSQL文の取得) select sql_text ,executions ,disk_reads ,buffer_gets ,address ,hash_value ,command_type from v$sqlarea where decode(executions ,0,disk_reads,disk_reads/executions) > (select avg(decode(executions,0,disk_reads ,disk_reads/executions)) + stddev(decode(executions,0,disk_reads ,disk_reads/executions)) from v$sqlarea) and parsing_user_id != 0 負荷の高いSQL文を確認するSQL文?(BUFFER_GETSが大きいSQL文の取得) select sql_text ,executions ,disk_reads ,buffer_gets ,address ,hash_value ,command_type from v$sqlarea where decode(executions ,0,buffer_gets,buffer_gets/executions) > (select avg(decode(executions,0,buffer_gets ,buffer_gets/executions)) + stddev(decode(executions,0,buffer_gets ,buffer_gets/executions)) from v$sqlarea) and parsing_user_id != 0