鉴于过滤是Datomic does not support pagination我不知道如何有效地支持查询,如:高效Datomic查询来执行对分页套
在第一个30个实体上
:history/body
,找到实体的:history/body
一些比赛正则表达式。
这是我怎么会做单独的正则表达式匹配:
{:find [?e]
:where [[?e :history/body ?body]
[(re-find #"foo.*bar$" ?body)]]}
观察:
- 然后我可以从这些
(take ...)
,但就是不一样对匹配前30个实体。 - 我能得到所有实体,
take 30
然后用re-find
手动筛选,但如果我有30M的实体,让所有的人都只是为了take 30
似乎疯狂效率低下。另外:如果我想从我的30M实体中抽取20M并通过re-find
进行过滤,该怎么办?
Datomic文档谈论了查询如何在本地执行,但我已经试过了一套52913个实体做内存变换(当然,他们是完全touch
ED),它大约需要5秒。想象一下,在数百万甚至上千万中会有多糟糕。
谢谢。当我有机会时,我会努力通过这个,看起来像一个好的开始。 – devth 2014-10-08 16:03:35