私のアプリケーションは Hibernate で JPA を使用しており、ログ ファイルに多数の結合を含むいくつかの興味深い SQL クエリが hibernate によって生成されることがわかります。現在、アプリケーションには多くのユーザーがいません。データベースのサイズが大きくなったときに、休止状態によって生成されたクエリの一部が問題を引き起こすのではないかと心配しています。
EXPLAIN コマンドを使用して hibernate によって生成された SQL クエリのいくつかを実行し、生成されたクエリ プランを確認しました。
EXPLAIN の出力はデータベースのサイズに依存しますか? データベースのサイズが大きくなると、クエリ プランナーは同じ SQL クエリに対して異なるプランを生成しますか?
開発/展開サイクルのどの時点で、休止状態によって生成された SQL クエリの SQL クエリ プランを確認する必要がありますか? EXPLAIN を使用する適切な時期はいつですか。
データベースが非常に小さいため、どんなに複雑に見えてもすべてのクエリが 0.5 秒未満で実行される場合、explain の出力を使用して、クエリが問題になるかどうかを判断するにはどうすればよいでしょうか?
アプリケーションのデータベースとして Postgres 9.1 を使用していますが、上記の質問に対する一般的な回答に興味があります。