Просмотр исходного кода

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

close #8947
Tienson Qin 2 лет назад
Родитель
Сommit
e0f519b7ab
1 измененных файлов с 4 добавлено и 7 удалено
  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)