• ベストアンサー

DBアクセス時間が早くなる理由

約2万件のデータ読込み、帳票を作成してダウンロードする処理があるのですが、 最初のリクエストでの処理時間が33秒もかかります。 しかし、続けて同じ処理をさせていると、3回目には8秒にまで短縮しました。 繰り返しているとDBアクセス処理が早くなるのはどうしてでしょうか? 使っている言語は Java DBソフトは PostgreSQL です。 よろしくご教授ください。

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

  • ベストアンサー
  • ok-kaneto
  • ベストアンサー率39% (1798/4531)
回答No.1

まったく同じSQLですか? ・explain する時間が短縮される ・キャッシュ(ディスクまたはメモリ)にデータや実行計画が残っている ・物理ファイルに対してのアクセスが(キャッシュにより)高速化される ・最初は共有ロックを掛ける時間がかかっている ・メモリがページングされない 等があるのではないかと。 厳密なのはanalyzeしたり統計情報を見るなりした方が良いと思いますけど。

Horirin39
質問者

お礼

教えていただきましてありがとうございます。 PostgreSQLにそのような機能があるかと思いましたが、 ほとんどはOSやハードウエアの機能のようですね。

関連するQ&A