• 締切済み

DBのMySQLからデータを1つ取り出すのに要した時間を表示させたい

はじめまして。いつも皆さんの質問・回答を見て勉強させていただいてます。 今、DBを使ったJavaの検索システムを構築しており、検索時の効率を上げる為のデータとして、検索時に要した時間を表示させたいと思っております。 また、それは全体(SQL文を実行する)に要した時間ではなく、データ一つを検出するのにどれだけ時間を要したか?という値を知りたいのです。 イメージとしては下記のようになります。 データ名 | 検索時間(sec) Aichi   | 1.23 Gifu    | 0.23 Tokyo   | 3.53 環境としては Java:jdk1.6.0_13 MySQL:ver5.5 です。開発環境は整っており、eclipseでソースをいじるといった形です。 以下の点を考慮しましたが、壁にぶつかってしまいました ・insert文で新たに検索時間を格納するフィールドを作る(検索ごとにデリート、インサートしてたらキリがない) ・Javaにあるメソッドを使って値を取得する(有効なメソッドがない?) 以上、ご指導よろしくお願いします。

みんなの回答

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

SQL1つの実行時間じゃなく、 SQL1つの結果に 「Aichi,Gifu,Tokyo」 が帰ってきたとき それぞれをテーブルから探し出した時間を計りたい てこと? Java関係ないDB内部の話? 結果がそれ1件になるようにして SQLトレースを取るとか する必要があるんじゃないかしら。 あくまで参考。

tty5963
質問者

お礼

>askaaskaさん 回答ありがとうございます 質問内容が言葉足らずですいません。 askaaskaさんの察し通り「それぞれをテーブルから探し出した時間を計りたい」ということです。Javaでそれ専用のメソッドがあるのかとSunのHP等で見てみたんですが、なかったので何か有効な手段がないかと思いここに書きこんだ次第です。 やっぱり結果を1件当たりで取り出して時間を計るしかないようですね。 回答ありがとうございました。