Mongo DB Running find扫描冗余索引



我有一个Mongo DB服务器V4.0.0,安装在Linux上。我有一个名为";日志";。

我有一个在.NET Framework 4.7.2634.0上运行的Windows服务,C#驱动程序2.5.0.0版

所以,我有几个问题

  1. 如果不同的机器使用不同的C#驱动程序版本访问MongoDB,可以吗
  2. 可能是Mongo Compass 1.23.0在我的收藏中不断聚合,因为我的性能很糟糕,一旦我关闭它,MongoDB似乎有了显著的改进
  3. 对于由于超时而失败的查询,为什么我不能在Mongo DB日志中找到完整的find语法并进行解释
  4. 我有几个索引。其中我有这两个
{ Section: 1, Headline: 1, Timestamp: -1 }
{ Section: 1, Severity: 1, Timestamp: -1 }

我正在执行

db.logs.find({ Section: "Machine", Headline: /^Shutdown.*/ }
,在日志中,我看到了
planSummary: IXSCAN { Section: 1, Headline: 1, Timestamp: -1 },
IXSCAN { Section: 1, Severity: 1, Timestamp: -1 }
这很奇怪,如果我只过滤第一个索引中包含的字段(标题字段(,为什么它也扫描第二个索引(带有Severity字段的索引(?

如果不同的机器使用不同的C#驱动程序版本访问Mongo DB,可以吗?

是。

可能是Mongo Compass 1.23.0在我的集合上不断聚合,因为我的性能很差,一旦我关闭它,Mongo DB似乎有了显著的改进。

启用完整查询日志以验证;不断地聚集在我的收藏品上&;假设假设这就是实际发生的情况,请使用连接元数据来识别发出这些查询的驱动程序。

对于由于超时而失败的查询,为什么我不能在Mongo DB日志中找到完整的查找语法并进行解释?

您没有启用查询日志记录,或者查询没有到达服务器,或者您在日志中遗漏了它,或者您查找了错误的日志。

最新更新