【发布时间】:2014-07-14 01:19:19
【问题描述】:
是否可以使用带有二级索引的过滤器命令?如果我没有二级索引执行查询:
r.db('test').table('first').filter(r.row('col2').eq(8302))
然后在 'col2' 上创建二级索引并重新运行查询,所需时间完全相同。我知道我可以使用 'getAll' 并传入一个索引,它要快得多,但希望过滤器命令也能使用它。
【问题讨论】:
标签: rethinkdb
是否可以使用带有二级索引的过滤器命令?如果我没有二级索引执行查询:
r.db('test').table('first').filter(r.row('col2').eq(8302))
然后在 'col2' 上创建二级索引并重新运行查询,所需时间完全相同。我知道我可以使用 'getAll' 并传入一个索引,它要快得多,但希望过滤器命令也能使用它。
【问题讨论】:
标签: rethinkdb
RethinkDB 目前没有查询优化器,所以过滤器不会使用二级索引。
默认情况下使用索引存在问题(如 orderBy - 但同样适用于过滤器)--https://github.com/rethinkdb/rethinkdb/issues/2356 随意插话。
【讨论】: