Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.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/11.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
Java mongodb慢速查询在mongoshell上运行得如此之快_Java_Mongodb_Aggregation Framework - Fatal编程技术网

Java mongodb慢速查询在mongoshell上运行得如此之快

Java mongodb慢速查询在mongoshell上运行得如此之快,java,mongodb,aggregation-framework,Java,Mongodb,Aggregation Framework,为什么从JAVA应用程序调用此查询时运行得如此缓慢 我在mongodb日志上有一个缓慢的查询日志。对mongodb的请求是通过JAVA应用程序发出的,该应用程序与mongodb实例运行在同一台机器上 I COMMAND [conn27952] command db_iyspanel.persons command: aggregate { XXX} , cursor: {}, collation: { locale: "tr", numericOrdering: tru

为什么从JAVA应用程序调用此查询时运行得如此缓慢

我在mongodb日志上有一个缓慢的查询日志。对mongodb的请求是通过JAVA应用程序发出的,该应用程序与mongodb实例运行在同一台机器上

I COMMAND  [conn27952] command db_iyspanel.persons command: aggregate { XXX} , 
cursor: {}, 
collation: { locale: "tr", numericOrdering: true, normalization: false }, 
$db: "db_xxx" } 
    planSummary: COLLSCAN 
    keysExamined:0 
    docsExamined:445095 
    hasSortStage:1 
    cursorExhausted:1 
    numYields:136443 
    nreturned:1 
    reslen:14413
    locks:{ Global: { acquireCount: { r: 273052 } }, 
    Database: { acquireCount: { r: 136526 } }, Collection: { acquireCount: { r: 136525 } } } 
    protocol:op_msg 62835ms
我已经隐藏了聚合的细节,因为这不是我要问的。 从我所看到的,这个查询进行了一次收集扫描,大约在63秒内运行

但当我复制并粘贴此聚合并在mongoshell上运行时,它会立即运行

我在mongoshell上使用
.toArray()
,确保所有结果都被读取。返回的数据只有10-15个文档,一点也不大

即使在通过JAVA驱动程序运行相同的查询几秒钟后,查询仍然是一样的慢

因此,mongoshell上的速度总是很快,而JAVA驱动程序上的速度总是很慢。JAVA应用程序、mongoshell和mongo实例都在同一台机器上。我不知道发生了什么事