1

我们有一个包含 3000 万个“名字”的集合(name_list)。我们将这 3000 万条记录与 400 万个“名称”进行比较。我们正在从一个 txt 文件中获取这 400 万个“名称”。

我正在使用 PHP 和 Linux 平台。我为“名称”字段提供了索引。我正在使用简单的“查找”将数据与 mongodb 与 txt 文件的数据进行比较 $collection->findOne(array('names' => $name_from_txt))

我一一比较。我知道在 mongodb 中无法加入。有没有更好的方法来比较 mongodb 中的数据?

操作系统和其他细节如下。

操作系统:Ubuntu 内核版本:3.5.0-23-generic 64 位 MongoDB shell 版本:2.4.5 CPU 信息 - 24 内存 - 64G 磁盘 3 - 其中 mongo 被写入大小为 320G 的融合 i/o 磁盘文件系统在 mongo 磁盘上 - 带有 noatime 的 ext4,如 mongo doc 中提到的 mongo 的 ulimit 设置更改为 65000 readahead is 32 numa 使用 --interleave 选项禁用

当我使用脚本进行比较时,大约需要 5 分钟才能完成......可以做什么,以便更快地执行并在 1-2 分钟内完成?有人可以帮忙吗?

4

0 回答 0