いっぽんの猟銃のむこうに (DAIZOじいさんとGun)

ヌルめの技術メモとか。フリーランスやってます (http://acez.jp/)

sqlplusでSQLを流し、その実行時間をtimeで計測する

Linuxでコマンド実行時間を取るのに便利なtimeコマンドですが、sqlplusとかだと途中で入力受付になってそこで止まってしまって計測できないことがあります。

そういう時にヒアドキュメントなんですが、いつも忘れちゃうのでメモ。

$ time sqlplus benchmark/testasa @test.sql<<'EOD'
exit;
EOD


これでtest.sqlの中に書かれているsqlをがーっと実行したあとに勝手に抜けて、実行時間が画面に表示されます。

ちなみに、いつ終わるかわかんねえとかでリダイレクトでファイルに保存しておきたいときは、 $time (sqlplus ... ) > log.txt 2>&1 のようにtimeで計測するコマンドを()でくくってごにょごにょすればよいです。