This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-10-19
Channels
- # announcements (2)
- # beginners (12)
- # cider (12)
- # cljsrn (1)
- # clojure (56)
- # clojure-italy (1)
- # clojure-sweden (2)
- # clojure-uk (3)
- # clojured (6)
- # clojurescript (16)
- # cursive (1)
- # data-science (3)
- # datomic (8)
- # emacs (18)
- # figwheel-main (1)
- # graphql (5)
- # jobs (10)
- # luminus (4)
- # nrepl (27)
- # off-topic (5)
- # pathom (7)
- # shadow-cljs (66)
- # sql (40)
- # tools-deps (1)
- # vim (6)
'[:find [(pull ?u2 pe) ...]
:in $ pe ?uuid
:where
[?u :user/uuid ?uuid]
[?u :user/primary-email ?email]
[?u2 :user/primary-email ?email]
[?u2 :user/uuid ?uuid2]
(not [(= ?uuid ?uuid2)])]
In this query, :user/primary-email
is a :fulltext
attribute, which degrades overall performance.
How can I tweak the [?u2 :user/primary-email ?email]
clause to use a strict =
predicate?--- A simplified version of the question:
'[:find [(pull ?u pe) ...]
:in $ pe ?email
:where
[?u :user/primary-email ?email]]
How do I skip the :fulltext querying here.
(all other logic from the former query can be done in plain Clojure, out of the result of the simplified query)that surprises me, since a single-clause query consisting of [?u :user/uuid ?x]
takes 1ms, while a single-clause query consisting of [?u :user/email ?x]
takes 80ms.
In both cases, ?x
is a fixed param I pass to the query.
I imagined the difference is due to :fulltext
being a part of my :user/email
schema, but maybe there's some other explanation