1

DB 内の一部の従業員 ID を、LDAP DB 内にある現在の従業員 ID の公式ソースと比較する必要があるタスクがあります。

そのため、LDAP スキーマで uid と呼ばれる 3700 の会社 ID のリストがあります。

次のような巨大なクエリを作成するのは良いことではないかもしれないことに気付きました

(|(uid=foo1)(uid2=foo2)....(uid=foo3700))

そしてそれを提出してください。そこで、リストをチャンクに切り刻むというアイデアを思いつきました。タイミングを計ったところ、50 個のチャンクの場合、クエリは 7 分で実行され、100 個は 4 分で、200 個は 3.5 分で実行されました。

しかし今では、クエリごとに 1 つずつ、複数の検索オブジェクトがあります。

できると思います

  1. チャンクをループし、オブジェクトをクエリして処理し、後でレポートするために結果を保存します。または私はすることができます

  2. 検索結果をある種の配列またはハッシュに保存します。または私はすることができます

  3. どういうわけか、検索結果を大きな検索オブジェクトに結合します。

私は 3. のアイデアが好きです。なぜなら、それが最も一般的な解決策だと思いますが、その方法がわかりません。

では、3. は良いアプローチですか?

もしそうなら、それを行う方法は?

そうでなければ、この問題に対するより良いアプローチは何ですか?

4

0 に答える 0