私は大きな表を持ち、多くの列を持っています。異なるユースケースでは、このテーブルから別の列をロードする必要がありますが、通常はすべての列を必要としません。だから私はこの大きなテーブルから必要な列を選択すべきだと思う。例えば問合せの列数を減らしてJPAパフォーマンスを改善する
私はUseCase1のような単純なPOJOを持っていると私は、この名前付きクエリを使用します。私はまた、唯一のA、B、Cの各フィールドを更新し、更新文で
SELECT NEW UseCase1(t.a, t.b, t.c) FROM MyBigTable t
を。
テーブルを変更できない場合、パフォーマンスを向上させるために、これは良い解決策ですか?これによりパフォーマンスが向上しますか? :)
テーブルにインデックスを追加できますか? – JStead
はい、できますが、インデックスを追加すると、ネットワーク上の送信データ量は変わりません。 – nerd
測定するだけで価値があるかどうかわかります。しかし、通常、これを行うことで多くの利益を得ることはありません。クエリを分析してインデックスを定義し、必要な行だけを返すクエリを使用するようにしてください(通常は非常に悪い考えであるすべての行が選択されます) –