小编Bra*_*ert的帖子

Postgres中的向量(数组)加法

我有一列numeric[]都具有相同大小的值。我想对它们进行元素平均。我的意思是说

{1, 2, 3}, {-1, -2, -3}, and {3, 3, 3}
Run Code Online (Sandbox Code Playgroud)

应该是{1, 1, 1}。同样有趣的是如何对这些元素进行总和,尽管我希望一个解决方案将是另一个解决方案。

(NB: The length of the arrays is fixed within a single table, but may vary between tables. So I need a solution which doesn't assume a certain length.)

My initial guess is that I should be using unnest somehow, since unnest applied to a numeric[] column flattens out all the arrays. So I'd like to think that there's a nice way to …

sql arrays postgresql vectorization

5
推荐指数
2
解决办法
2685
查看次数

neo4j中的高度节点

我试图了解neo4j的有效使用模式,特别是参考高度节点.为了解我正在谈论的内容,我的User节点具有我已建模为节点的属性.所以我的表中有关系如

(:User)-[:HAS_ATTRIB]->(:AgeCategory)
Run Code Online (Sandbox Code Playgroud)

等等等等.问题是这些AgeCategory节点中的一些节点非常高,大约为100k,而查询如

MATCH (u:User)-->(:AgeCategory)<--(v:User), (u)-->(:FavoriteLanguage)<--(v)
WHERE u.uid = "AAA111" AND v.uid <> u.uid
RETURN v.uid
Run Code Online (Sandbox Code Playgroud)

(匹配所有共享相同年龄类别和喜欢的语言的用户AAA111)非常非常慢,因为您必须为FavoriteLanguage链表中的每个元素运行一次AgeCategory链表(或者至少我理解它的方式).

我认为很明显,这个查询需要花费几分钟来解决我做错了什么,但我很好奇处理这样的查询的正确程序是什么.我应该从每个查询中单独下拉匹配用户并将它们与内存中的哈希进行比较吗?有没有办法在节点上建立关系?对于架构开始,这是一个好主意吗?

neo4j cypher

3
推荐指数
1
解决办法
401
查看次数

标签 统计

arrays ×1

cypher ×1

neo4j ×1

postgresql ×1

sql ×1

vectorization ×1