0

製品のリストがあり、リスト内の各製品をデータベースに存在する元の製品と比較する必要があります。どちらが正しい方法でしょうか?

  • db からすべてのレコードを取得 (arraylist に保持)、それぞれを比較、更新

また

  • データベースから 1 つ取得し、比較し、更新し、次を取得します

db スキーマには多くの結合があるため、2 番目の方法は不適切と思われます。一方、製品テーブルには5000を超えるレコードが含まれており、それらすべてをメモリに保持することに疑問があります(一部のクエリで最大500に削減できます)。

4

2 に答える 2

1

最善の方法は、次の 2 つのオプションの間のどこかです。

1 回のクエリでデータベースから返されたすべての行を取得しますが、一度に 1 つの製品のみがメモリ内にあるように、読み取り時に各行を処理します。

このようなアプローチは完全にスケーラブルです。

于 2012-12-21T23:01:36.613 に答える