0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OracleのSQLパフォーマンス調査時によく利用するv$sql・v$session各カラムの意味合い

Last updated at Posted at 2024-08-11

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 vs v$sql.last_load_time

    • last_active_timeはSQLが最後にアクティブだった時刻(最後に実行や関連操作が行われた時刻)を示す。last_load_timeはSQLが最後にライブラリキャッシュに読み込まれた時刻を示し、SQLがパースされた最新のタイムスタンプである。
  • v$session.sql_exec_start vs v$sql.last_active_time

    • sql_exec_startはセッションでSQLの実行が開始された時刻を示すが、last_active_timeはSQLが最後にアクティブだった時刻を示す。前者は実行開始時刻、後者は最近のアクティブなタイミングである。

※ ChatGPTにうかがった上で、実験してファクトチェックし、加筆修正しました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?