Performance 为什么Apache Drill在MongoS环境的查询规划中花费了大量时间?
当Drill连接到Sharded Mongo环境(mongoS)时,与mongod上的查询执行时间相比,查询执行时间非常长(即使mongoS和mongod上的数据量几乎相同)。这背后的根本原因可能与查询计划时间有关 关于蒙哥斯 集合大小:-200 GB,记录计数:230083160 执行了一个简单的select查询,该查询在索引列上有一个筛选器,但随后该查询的执行时间超过了50分钟。查询状态一直处于“开始”状态,直到40分钟。进一步分析后发现,查询计划花费了很长时间。 以下是该问题本地化的详细信息- 类名:DefaultSqlHandler.java 方法名称:受保护的RelNode变换(PlannerType PlannerType、PlannerPhase阶段、RelNode输入、RelTraitSet targetTraits、, 布尔值(对数) 行号:384:输出=程序.run(计划器、输入、汇总) 上面这一行的输出由火山计划器类返回 (包:org.apache.calcite.plan.volcano),这需要花费大量时间进行查询规划。这仅适用于MongoS环境 在MongoD环境上执行相同的select查询时 集合大小:306 GB记录计数:49924351 查询执行在2分钟内完成,并且上述行在几秒钟内返回了输出 与MongoS(200GB)相比,mongoD上的数据量高(300GB),但mongoD上的查询规划速度要快得多。MongoS环境的查询规划似乎存在一些问题Performance 为什么Apache Drill在MongoS环境的查询规划中花费了大量时间?,performance,mongodb-query,sharding,apache-drill,Performance,Mongodb Query,Sharding,Apache Drill,当Drill连接到Sharded Mongo环境(mongoS)时,与mongod上的查询执行时间相比,查询执行时间非常长(即使mongoS和mongod上的数据量几乎相同)。这背后的根本原因可能与查询计划时间有关 关于蒙哥斯 集合大小:-200 GB,记录计数:230083160 执行了一个简单的select查询,该查询在索引列上有一个筛选器,但随后该查询的执行时间超过了50分钟。查询状态一直处于“开始”状态,直到40分钟。进一步分析后发现,查询计划花费了很长时间。 以下是该问题本地化的详细信