Browse Source

fix: query searching for two or more properties is extremely slow

close #8947
Tienson Qin 2 years ago
parent
commit
e0f519b7ab
1 changed files with 4 additions and 7 deletions
  1. 4 7
      deps/db/src/logseq/db/rules.cljc

+ 4 - 7
deps/db/src/logseq/db/rules.cljc

@@ -131,13 +131,10 @@
      [?b :block/properties ?prop]
      [(missing? $ ?b :block/name)]
      [(get ?prop ?key) ?v]
-     (or-join [?v]
-              [(= ?v ?val)]
-              [(contains? ?v ?val)]
-              ;; For integer pages that aren't strings
-              (and
-               [(str ?val) ?str-val]
-               [(contains? ?v ?str-val)]))]
+     [(str ?val) ?str-val]
+     (or [(= ?v ?val)]
+         [(contains? ?v ?val)]
+         [(contains? ?v ?str-val)])]
 
    :page-ref
    '[(page-ref ?b ?page-name)