鑑於過濾是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