我正在尝试为RethinkDB中的一些查询基准测试任务.我真的没有得到一个问题的好答案为什么RethinkDB的count()操作如此缓慢?
我有2GB数据的查询:
r.db("2GB").table("table").between(40, r.maxval, {index:"price"})
Run Code Online (Sandbox Code Playgroud)
查询在5毫秒内执行但是一旦我想要计算数字项目
r.db("2GB").table("table").between(40, r.maxval, {index:"price"}).count()
Run Code Online (Sandbox Code Playgroud)
耗时超过6秒 每个使用count操作的查询都非常慢.我在github上看到了很多问题,但无法得到确切的理由.
更新:它不仅仅是,between()而是所有其他filter...... 就像count()是非常缓慢
当你打电话的时候,between你会找回一个光标,当你迭代它时,它会懒散地将数据加载到磁盘上.因此,返回光标所需的时间是读取第一批数据所需的时间,而不是所有数据. count另一方面,它必须在它返回之前查看整个表格,因此需要时间与表格的大小成比例.
| 归档时间: |
|
| 查看次数: |
623 次 |
| 最近记录: |