我有一项任务需要将数据库中的一些员工 ID 与 LDAP 数据库中当前员工 ID 的官方来源进行比较。
所以我有一个包含 3700 个公司 ID 的列表,它们在 LDAP 模式中称为 uid。
我意识到仅仅创建一个像这样的巨大查询可能不是一件好事
(|(uid=foo1)(uid2=foo2)....(uid=foo3700))
并提交。所以我想出了将我的列表切成块的想法。我做了一些计时,对于 50 个块,查询在 7 分钟内运行,100 个在 4 分钟内运行,200 个在 3.5 分钟内运行。
但现在我有几个搜索对象,每个查询一个。
我想我可以
循环块并查询和处理对象并存储结果以供以后报告。或者我可以
将搜索结果存储在某种数组或散列中。或者我可以
以某种方式将搜索结果组合成一个大搜索对象。
我有点喜欢 3. 的想法,因为我觉得它是最通用的解决方案,但我不知道该怎么做。
那么 3. 是一个好方法吗?
如果是这样,该怎么做?
否则,有什么更好的方法来解决这个问题?