RethinkDB查询没有通过主键search得到更快的速度。 有什么困难吗?
我得到了我的contacts
表中填充了5万条logging,所以我可以基准性能。
引起我注意的是,这些查询大概是在同一时间完成的:
查询1:
r.db('rethinkdb_faker').table('contacts').filter({"id":3453}).limit(1)
查询2:
r.db('rethinkdb_faker').table('contacts').filter({"name":"contact3453"}).limit(1)
他们大约需要160毫秒才能在一台I5 1.7GHz的Ubuntu服务器上完成。
我确实希望Query 1运行得更快,因为我已经知道主索引会被自动考虑在内。 我也读过这个ID是自动作为主键。 此外,我没有find任何选项来configuration主键。
我做错了什么或这是预期?
编辑
感谢@mlucy答案,我现在可以在13ms
给出相同的configuration结果。
您可以使用get
或getAll
访问主索引。 所以如果你把你的第一个查询重写为r.db('rethinkdb_faker').table('contacts').get(3453)
它应该快得多。