Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 在更大的数据量下,如何使用mongo缩短数据获取时间_Performance_Mongodb - Fatal编程技术网

Performance 在更大的数据量下,如何使用mongo缩短数据获取时间

Performance 在更大的数据量下,如何使用mongo缩短数据获取时间,performance,mongodb,Performance,Mongodb,我们收集了3000万个“名字”。我们正在将这3000万条记录与400万个“名字”进行比较。我们正在从一个txt文件中获取这400万个“名称” 我正在使用PHP和Linux平台。我为“名称”字段提供了索引。我使用简单的“find”将mongodb的数据与txt文件的数据进行比较 $collection->findOne(数组('names'=>$name\u from\u txt)) 我在一个接一个地比较。我知道在mongodb中不可能连接。有没有更好的方法来比较mongodb中的数据 操作系统和

我们收集了3000万个“名字”。我们正在将这3000万条记录与400万个“名字”进行比较。我们正在从一个txt文件中获取这400万个“名称”

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

我在一个接一个地比较。我知道在mongodb中不可能连接。有没有更好的方法来比较mongodb中的数据

操作系统和其他详细信息如下

操作系统:Ubuntu 内核版本:3.5.0-23-generic 64位 MongoDB外壳版本:2.4.5 中央处理器信息-24 内存-64G 磁盘3-其中mongo写入大小为320G的fusion i/o磁盘 mongo磁盘上的文件系统-如mongo文档中所述,具有noatime的ext4 mongo的ulimit设置更改为65000 readahead是32 numa使用--interleave选项禁用


当我使用一个脚本来比较这一点,它需要大约5分钟来完成。。。可以做些什么,使它执行得更快,并在1-2分钟内完成?有人能帮忙吗?

我记得这个问题来自其他地方,可能是以前发布过,或者是发布在google Group上。事实上,当我将100万数据与3000万数据进行比较时,我在3分钟内得到了结果。。当我将400万个数据与3000万个数据进行比较时,获取结果需要18分钟。。因此,我想知道如何减少这些时间并获得更快的输出。我也在谷歌群组中发布了这些信息,但还没有收到回复。你确定这是数据库问题吗?如果是这样的话?如果你的意思是说,如果数据库查找执行得很好,那么获取较大的文本文件肯定会有些奇怪,如果你将文本文件拆分为100万个GRPOUP,然后在每次需要时读取它们呢?