0

階層を考えてみましょう:

ブランド --> 製品 --> アイテム --> 数量。

上記のようにリンクされた、10,000 行以上の異なるテーブルがあるとします。次の方法ですべてのデータを取得したい:

ブランド -- 彼らと一緒に -- 製品 -- 彼らと一緒に -- アイテム -- 彼らと一緒に -- 数量。

私はこのアプローチを考えました。 a) 非常に基本的なマップのプロシージャからすべてのレコードを取得する b) これらのマップを繰り返し処理し、それらすべてを Java でリンクする。

時間がかかるので、これよりも良いアプローチはありますか?

前もって感謝します

4

1 に答える 1

1

リレーショナル データベースでテーブルを結合しているように見えるので、これには SQL を使用するのが自然です。Java は不適切なツールであり、多くのバグに直面する可能性があります。

クエリから返されるデータが多すぎる場合は、を使用LIMITするか、友人の提案に従って、クエリにパラメータを追加して、結果セット全体の特定のチャンクを選択してみてください。

クライアントが本当に一度にすべてを必要とする場合は、カーソルを使用してデータベースからの読み取りを完了する前に、応答のストリーミングを開始できます (これは、作成している Web サービスのようなものだと思います)。しかし、それは大変な労力であり、サーバーがデータを処理できない場合、おそらくクライアントも処理できません。

于 2012-04-18T13:21:40.903 に答える