0

我使用 mongolite 创建了一个 mongodb 数据库,并_row使用以下命令在数据库上的键上创建索引:

collection$index(add = '{"_row" : 1}')

当我使用命令通过 Robo3T 程序查询文档时db.getCollection('collection').find({"_row": "ENSG00000197616"}),我的索引有效,查询数据只需不到一秒的时间。

Robo3T截图>>>注意查询时间

当我在 python 中使用 pymongo 包查询数据时也是这种情况。

python截图>>>注意查询时间

令人惊讶的是,当我用 mongolite 执行相同的查询时,查询数据需要 10 多秒:

system.time(collection$find(query = '{"_row": "ENSG00000197616"}'))

用户系统已过

12.221 0.005 12.269

我认为这只能来自 mongolite 包,否则,它也不适用于其他程序。

任何输入都非常感谢!

4

1 回答 1

0

我在这里找到了解决方案:

https://github.com/jeroen/mongolite/issues/37

耗时的部分不是数据查询,而是在数据框中简化它。

于 2021-07-01T06:55:10.390 回答