在RethinkDB中,是否可以一次创建多个索引? 像(不起作用)的东西:
r.db('test').table('user').indexCreate('name').indexCreate('email').run(conn, callback)
答案 0 :(得分:1)
索引创建是一项相当重要的操作,因为它需要扫描现有文档以使索引更新。理论上可以允许同时创建2个索引,以便它们并行执行此过程并将工作减半。我们现在不支持它。
但我怀疑这不是你要问的。如果你只是想找到一种方法,不必等待索引完成,然后回来开始下一个,最好的办法是:
table.index_create("foo").run(noreply=True)
# returns immediately
table.index_create("bar").run(noreply=True)
# returns immediately
通过将它们放入如下所示的数组中,您也可以始终在单个查询中执行任意数量的写入:
r.expr([table.index_create("foo"), table.index_create("bar")]).run()
我实际上无法想到为什么这对索引创建有用,因为索引写入在索引准备好之前不会阻塞但是嘿谁知道。它在表创建中非常有用。