通过主键搜索,RethinkDB查询得不到更快。有没有问题?

时间:2015-07-22 22:45:56

标签: node.js rethinkdb

我的contacts表填充了50k记录,因此我可以对性能进行基准测试。

引起我注意的是,这些查询需要大致同时完成:

查询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 aproximatelly。

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

我做错了还是预期?

修改

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

1 个答案:

答案 0 :(得分:2)

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