クエリの実行に Oracle Timesten ttIsql ユーティリティを使用しています。「タイミング」機能を使ってSelect文の実行にかかる時間を調べたい。
大規模なデータ セットの場合、ユーティリティがレコードを画面に表示するのに時間がかかります。
画面のレンダリング時間が合計所要時間に含まれないように、出力をファイルにリダイレクトする方法はありますか?
どうやって使うの?
ttisql -e "sql statements" > /dev/null 2>&1
画面のレンダリング時間が SQL 実行のタイミングを歪めていることが懸念される場合、ttIsql を使用して SQL のタイミングを計る最良の方法は、タイミングを表示しながら結果の書式設定/表示を無効にすることです。
ttIsql "DSN=xxx;..."
Command> timing 1;
Command> verbosity 0;
Command> prepare 1 some sql statement;
Command> execandfetch 1;
Command> close 1;
Command> free 1;
これにより、最も正確な SQL タイミングが得られますが、次の点に注意してください。
他のタイミングと同様に、同じことを何度も実行して平均を取る必要があります。
TimesTenでのSQL操作は実際には非常に短時間しかかからないことが多いため、レポートされるタイミングには、他のシステム・アクティビティによって大きな誤差が生じる場合があります。