基本上,查询大小的限制是什么?
我正在编写一个查询,在数据库中的所有属性中搜索字符串。在查询结束时,我将结果并将它们分类到存储桶中。这使得一个非常长的密码查询。
我将此查询传递给服务器插件中的执行引擎。现在我的属性有限,所以查询运行正常。我只关心随着时间的推移我获得更多属性,查询的实际字符串大小对于执行引擎来说太长了。
我有一个基本上有这么多行的查询:
MATCH (n) WHERE
( n:Program__CMC ) or
n.learningObjective =~ '(?i).*criteria.*' or
n.behavior =~ '(?i).*criteria.*'
// This places the results into categories
WITH n RETURN
SUM(CASE when any(l IN labels(n) WHERE l='Program__CMC') THEN 1 ELSE 0 END) AS LABELProgram__CMC ,
SUM(CASE WHEN n.acronymn =~ '(?i).*criteria.*' THEN 1 ELSE 0 END) AS NODEacronymn, SUM(CASE WHEN n.behavior =~ '(?i).*criteria.*' THEN 1 ELSE 0 END) AS NODEbehavior
这只是我正在运行的查询的一小部分。我实际上也在使用参数和搜索标签和关系,但为了清晰起见,我把它们留了下来。
如果有限制,并且我有可能达到它,那么我将不得不拆分查询并合并结果。
答案 0 :(得分:0)
没有明确的限制,虽然当你进入几兆字节范围时我已经看到了一些有趣的问题,所以它不是无限的。我更担心你需要点击数据库中的每个节点来进行这个查询 - 至少在MATCH中没有可以过滤的标签吗?