通过主键搜索,RethinkDB查询不会更快.有什么问题吗?



我用50k条记录填充了我的contacts表,这样我就可以对性能进行基准测试。

引起我注意的是,这些查询几乎花费相同的时间来完成:

查询1:

r.db('rethinkdb_faker').table('contacts').filter({"id":3453}).limit(1)
查询2:

r.db('rethinkdb_faker').table('contacts').filter({"name":"contact3453"}).limit(1)

它们在I5 1.7ghz Ubuntu服务器上完成大约需要160ms

我肯定希望查询1运行得更快,因为我已经读到主索引被自动考虑在内。我还了解到id被自动作为主键。而且,我没有找到任何配置主键的选项。

是我做错了什么还是这是预期的?

编辑

感谢@mlucy的回答,我现在可以在13ms给出相同的配置的结果。

您可以使用getgetAll访问主索引。所以,如果你重写你的第一个查询是r.db('rethinkdb_faker').table('contacts').get(3453),它应该快得多。

最新更新