• ベストアンサー

SQL文の実行速度の確認方法

Oracle SQL*Plusにて、SQL文の開始から値取得までの実行速度の確認をしたいと考えております。 秒単位だけでもOKですので、どなたか確認方法について教えて頂きたくお願いします。

  • 1104
  • お礼率38% (5/13)

質問者が選んだベストアンサー

  • ベストアンサー
noname#4564
noname#4564
回答No.1

> Oracle SQL*Plusにて、SQL文の開始から値取得までの実行速度の確認をしたいと考えております。 set timing on http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&c2coff=1&q=%22set+timing%22+oracle&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja

その他の回答 (2)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.3

SPOOLファイルに実行時刻を記録する、という方法でやってます。 変数を宣言・代入しておいて差を採るのも良いかな? select to_char(sysdate, 'yyyy/mm/dd HH24:MI:SS') from dual; を実行したいスクリプトの前後に記述しています。 時刻の「分」はMinitsのMIです。MMを書くと怒られます。

1104
質問者

お礼

ご回答ありがとうございます。 実行速度の計測方法はいろいろあることを知りました。 また、更なる探究心で以下のようなHPを見つけ、深くトレースを取る方法を勉強していこうと考えております。 http://www.street.jpn.org/street/oracle/tuning.htm ありがとうございました。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.2

UNIXだったら、 % time command command-option などとやって 測定できます。 つまり time sqlplus id/password 実行.sql などというふうにするのだったかな?

関連するQ&A

  • 同じSQL文で速度がだいぶ違う

    10万件程度レコードをもつ2つのテーブルに対し、下記のようなSQL文を実行します。 (実際のSQL文とは違いますが、だいたいこんな感じです。) SELECT * FROM aaa JOIN bbb USING(key) WHERE ORDER BY ccc LIMIT 50 OFFSET 5000 すると、 CGIから実行→CPU使用率が一時的に60%を超える。1~2秒待たされる。 phpMyAdminから同じSQL文を実行→CPUほどんど消費せず。瞬時に終わる。 のようにCGIからとphpMyAdminからで速度に大きな違いがあります。 こんなに差が付いてしまう理由がわかりましたら教えていただきたく。

    • ベストアンサー
    • MySQL
  • SQL実行時の負荷、処理時間確認

    oracle 10g Release 10.2.0.2.0を使用しています。 SQLにてDELETE文実行時のサーバ負荷、処理時間を確認したく、 次のSQLを実行しましたが、「V$SQLが無い」と怒られました。 SELECT * FROM V$SQL; oracleのバージョンを確認するSQL(select * from v$version;)は 問題なく実行できます。 V$SQLが使用できない理由、もしくは別の方法で処理負荷、処理時間を 確認できる方法とうあれば教えていただきたいです。 宜しくお願いします。

  • SQL文の実行速度について

    こんにちは。SQLを勉強しています。 質問をさせてください。 Oracleテーブル(test_table:レコード数はかなりあると考えて構いません) にnumber(int),value(varchar), code(varchar)の3つのフィールドが存在 するとします。 今、codeを指定してvalueを取得したいと考えています。 (1)---------------------------- select value from test_table where code='001'; select value from test_table where code='002'; select value from test_table where code='003'; (2)---------------------------- select code, value from test_table where code='001' or code='002' or code='003' (1)と(2)ではどちらが実行速度が速いのでしょうか? 実際に実行すればわかることですが、そういった環境が ないので、確認できません。宜しくお願い致します。

  • PL/SQLで実行したSQLのログの取得について

    ASP(ActiveServerPage)より、PL/SQLのFunctionを実行し、Oracleの複数のTABLEを更新しようとしています。 ASPから実行する際には、引数を渡し、その引数をSQL実行の条件としていますが、実際に実行されたSQL文のログを取得したいのですが、どうしたらよいでしょうか? 何か良い方法をお教えいただけますよう、よろしくお願いいたします。 [実行環境] DB:Oracle8i

  • SQL文2つ実行

    SQL文を2つ実行したい場合、単にmysql_query()を2つ記述すればOkと記憶してましたが、動きませんでした。 なんか間違えてますか?

    • 締切済み
    • PHP
  • SQLの実行速度

    XMLを解析し、テーブル内を検索するシステムを 作成しているのですが、 ストアドプロシージャ内でSQL文を作成し実行するのと ASP.NET などからSQL文を作成して実行するのとでは、 実行速度に差はでるのものなのでしょうか。 ・SQLServer 2005 ・SELECT の対象テーブルは2~3つのテーブルをINNER JOIN して使う。 ・検索対象の列は実行のたびに異なる。 よろしくおねがいします。

  • SQL文の長さ

    お世話になります。 SQL文の長さには限界があるのでしょうか? 現在、オラクル付属のSQL PlusにてSQL文を流したところ、途中で止まってしまいます。 部分的に流しますと問題なく通ります。 環境はoracle9iです。 なにかわかりましたらよろしくお願い致します。

  • BシェルでSQL文を実行

    【OS:AIX】 あるユーザーでCRONを組んでおり、オラクルのプレシジャを読み込ませるシェルプログラムをCシェルで組んでありました。 それをとある理由でBシェルに変更させてチェックしております。 ところがBシェルに変更してから以下のsqlplus文で失敗してしまいます。 ただ、単独でshファイルを実行するときは、SQL文も読み込んでくれて問題なく正常に終了するのですが、crontabで実行させるとSQL文を読み出すところで失敗してしまいます。 何かいけないところはありますでしょうか # SQL*Plusを呼び出しデータ作成 sqlplus ID/PASSWORD@SID < $HOME/script/data.sql ユーザアカウント自体はデフォルトでKシェルで作成されたユーザです。

  • SQL*Plusの実行結果にSQL文も残したいです

    SQL*Plusをスクリプトファイルを使って実行した際、実行SQLの出力はできないものでしょうか? 以下のようにスクリプトファイルを使ってSQL*Plusを実行し、その結果をログファイルへ 残しています。この時ログファイルには、実行結果は出力されるのですが、実行SQLは 出力されないようです。なんとかして実行SQLと、実行結果を作業ログとして残したいと 考えているのですが、何かよい方法はないものでしょうか? [ama@rh01 test]$ sqlplus scott/tiger@orcl @test01.sql > test01.log ■環境 Red Hat Linux 4 Oracle10g ■以下test01.sqlの中身です。 ---ここから-------------- create table ex01 ( c1 number, c2 varchar2(10), c3 varchar2(40) ); insert into ex01(c1,c2,c3) values(1,'AA1','BBB1'); select * from ex01; update ex01 set c2='aa1' where c1 =1; select * from ex01; exit; ---ここまで-------------- ■以下ログファイルの中身です。 ---ここから------------------ [ama@rh01 test]$ cat test01.log 省略 With the Partitioning, OLAP and Data Mining options に接続されました。                       ←ここにcreate文を出力したいです。 表が作成されました。                       ←ここにinsert文を出力したいです。 1行が作成されました。                       ←ここにselect文を出力したいです。 C1       C2   C3 ---------- ---------- ---------------------------------------- 1        AA1   BBB1                       ←ここにupdate文を出力したいです。 1行が更新されました。                       ←ここにselect文を出力したいです。 C1      C2 C3 ---------- ---------- ---------------------------------------- 1 aa1 BBB1 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining optionsとの接続が切断されました。 [ama@rh01 test]$ -------------------ここまで--------------- どなたか良いアドバイスいただけたらと思います。 どうぞよろしくお願いします。

  • SQL Plus での処理が重い

    お世話になります。 オラクル初心者です。よろしくお願い致します。 SQL Plusですが、オラクルをインストール直後は普通の速度だったのですが、 その日の内に急激に重くなりました。再起動を何度か行うとたまにですが、 通常の速度になります。 select文でcountするだけでも数分かかってしまいます。(通常時だと数秒です) なにが原因なのかアドバイスを頂ければと思います。 環境 oracle9.0.1.0.0