Fix perf issue with property rules for db graphs

Use multiple clauses instead as confirmed by perf test.
Using multiple clauses made rule preparation for d/q more complex
so introduced extract-rules
This commit is contained in:
Gabriel Horner
2023-07-25 17:20:17 -04:00
parent e9fecfa280
commit 3f52860cf1
5 changed files with 42 additions and 21 deletions

View File

@@ -29,7 +29,7 @@
(let [[graph-name query*] args
conn (read-graph graph-name)
query (into (edn/read-string query*) [:in '$ '%]) ;; assumes no :in are in queries
results (mapv first (apply d/q query @conn [(vals rules/db-query-dsl-rules)]))]
results (mapv first (d/q query @conn (rules/extract-rules rules/db-query-dsl-rules)))]
(println "DB contains" (count (d/datoms @conn :eavt)) "datoms")
(prn results)))