v$sql
ビューのカラム説明
-
v$sql.elapsed_time
- 説明: SQLの実行が開始されてからの総経過時間をマイクロ秒単位で示す。実行時間の累積値である。
- 意味: SQLが実行中にかかった全体の時間を表し、SQLが複数回実行された場合は、その総時間を含む。
-
v$sql.executions
- 説明: SQLが実行された回数を示す。SQLが実行されたトータルの回数である。
-
意味: SQLの実行頻度を示し、例えば、SQLが10回実行された場合、
executions
の値は10になる。
-
v$sql.last_active_time
- 説明: SQLが最後にアクティブだった時刻を示す。SQLが最後に実行された時刻や、最後にパフォーマンス関連のアクションが行われた時刻である。該当SQLが実行中の場合、現在時刻に比較的近い時刻となる。
- 意味: SQLが最近アクティブだったタイミングを示し、SQLの実行や関連操作が行われた最後の時刻を表す。
-
v$sql.last_load_time
- 説明: SQLが最後にライブラリキャッシュに読み込まれた時刻(つまり、ハードパースにより実行計画が作成された時刻)を示す。
- 意味: SQLがライブラリキャッシュにロードされた最新のタイムスタンプを示す。パースや再利用などの際に更新される。
-
v$sql.first_load_time
- 説明: SQLが初めてライブラリキャッシュに読み込まれた時刻を示す。
- 意味: SQLが最初にライブラリキャッシュにロードされた時点を示し、SQLがキャッシュに存在してからの経過時間の参考になる。
v$session
ビューのカラム説明
-
v$session.sql_exec_start
- 説明: セッションがSQLの実行を開始した時刻を示す。
- 意味: SQLの実行が開始された具体的な時刻で、実行の開始時刻を把握するために使用される。
違いのまとめ
-
v$sql.last_active_time
vsv$sql.last_load_time
-
last_active_time
はSQLが最後にアクティブだった時刻(最後に実行や関連操作が行われた時刻)を示す。last_load_time
はSQLが最後にライブラリキャッシュに読み込まれた時刻を示し、SQLがパースされた最新のタイムスタンプである。
-
-
v$session.sql_exec_start
vsv$sql.last_active_time
-
sql_exec_start
はセッションでSQLの実行が開始された時刻を示すが、last_active_time
はSQLが最後にアクティブだった時刻を示す。前者は実行開始時刻、後者は最近のアクティブなタイミングである。
-
※ ChatGPTにうかがった上で、実験してファクトチェックし、加筆修正しました。