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
MongoDB(java)需要很长时间才能找到_Java_Performance_Mongodb - Fatal编程技术网

MongoDB(java)需要很长时间才能找到

MongoDB(java)需要很长时间才能找到,java,performance,mongodb,Java,Performance,Mongodb,我有一个具有以下统计信息的mongdb数据库: { "ns" : "pourmoi.featurecount", "count" : 12152142, "size" : 1361391264, "avgObjSize" : 112, "numExtents" : 19, "storageSize" : 1580150784, "lastExtentSize" : 415174656,

我有一个具有以下统计信息的mongdb数据库:

{
        "ns" : "pourmoi.featurecount",
        "count" : 12152142,
        "size" : 1361391264,
        "avgObjSize" : 112,
        "numExtents" : 19,
        "storageSize" : 1580150784,
        "lastExtentSize" : 415174656,
        "paddingFactor" : 1,
        "paddingFactorNote" : "paddingFactor is unused and unmaintained in 3.0.
It remains hard coded to 1.0 for compatibility only.",
        "userFlags" : 1,
        "capped" : false,
        "nindexes" : 2,
        "totalIndexSize" : 1165210816,
        "indexSizes" : {
                "_id_" : 690111632,
                "feature_1" : 475099184
        },
        "ok" : 1
}
还有一个java程序,它执行
查找
,并返回大约50个结果

这就是问题所在

db.featurecount.find(
{ "$or" : [ { "feature" : "hello"}, { "feature" : "how"},
            { "feature" : "are"} , { "feature" : "you"} ]})
.sort({count: -1}).limit(20)
此查询大约需要30秒(至少)。。。有可能让它跑得更快吗


备注:mongodb服务器位于localhost中…

如果我取消排序/限制,大约需要2分钟,结果约为2500个…这里有大量文档。这是碎片吗?如果是这样的话,那么shard键肯定不是您的搜索词。在内存不足的机器上似乎有很多存储空间。或者至少此查询不在正常的内存工作集中。请使用查询解释功能获取有关查询的各种统计信息。为了理解性能问题,最好从mongo shell中尝试,而不是从Java程序中尝试。此外,索引大小非常大,大约为1GB。如果索引不适合内存,查询可能会很慢。如果我取消排序/限制,大约需要2分钟,结果大约2500个…这里有很多文档。这是碎片吗?如果是这样的话,那么shard键肯定不是您的搜索词。在内存不足的机器上似乎有很多存储空间。或者至少此查询不在正常的内存工作集中。请使用查询解释功能获取有关查询的各种统计信息。为了理解性能问题,最好从mongo shell中尝试,而不是从Java程序中尝试。此外,索引大小非常大,大约为1GB。如果索引不适合内存,查询可能会很慢。如果我取消排序/限制,大约需要2分钟,结果大约2500个…这里有很多文档。这是碎片吗?如果是这样的话,那么shard键肯定不是您的搜索词。在内存不足的机器上似乎有很多存储空间。或者至少此查询不在正常的内存工作集中。请使用查询解释功能获取有关查询的各种统计信息。为了理解性能问题,最好从mongo shell中尝试,而不是从Java程序中尝试。此外,索引大小非常大,大约为1GB。如果索引不适合内存,查询可能会很慢。