2

現在、3 つのクエリ (結果として 3 つのカーソル) を作成してから、MergeCursorクラスを使用してカーソルをマージしました。ただし、これによりカーソルが重複し、それらを削除する方法が見つからないようです。この問題を解決する理想的な方法は何ですか?

4

1 に答える 1

1

Cursor は、ResultSet に関連付けられたオブジェクトであり、その中のデータではありません。3 つの結果セットが同一のキーを持つ場合、行の重複を排除するためにそれらの主キーをフェッチする必要があります。Cursor の実装はこの機能を提供しません。いくつかのオプションがあり、ここでは 2 つの名前が付けられています。

  1. 以前のコメントで回避されたように、これをサーバー側で実行し、結合された結果を返します。例: クライアントから基本クエリを送信し、サーバーに 3 つのクエリを開始させ、結果をマージします。ただし、データベースは集合演算に優れており、これをプログラムで実行してもパフォーマンスが向上することはほとんどありません。
  2. 1 つのタスクを起動して、3 つのクエリを実行し、行をフェッチして、個別のキー セットだけを返します。
于 2013-02-25T01:20:33.307 に答える