首先,我很抱歉我的英语很差,而且我是Neo4J的新手!
我有一个像Twitter社交网络一样的图形数据库。
Nodes: Users and Tweets
Relationships: :WROTE, :RETWEETED, :FOLLOWED
我有大约2.2M节点,8.1M属性和1.4M关系。
我需要获得编写或转发推文的用户的所有独特屏幕名称。
所以,我正在使用此查询,直到我的数据库变大:
MATCH (u:User)-[]-(t:Tweet) return distinct u.screen_name;
现在问题是此查询返回超时。
如何查询以获得更好的性能?
谢谢!
答案 0 :(得分:0)
你有多少用户?您可能会为浏览器返回太多数据。
您可以尝试这些查询:
MATCH (u:User) return count(*);
MATCH (u:User) return u.screen_name;
MATCH (u:User) WHERE (u)-[:WROTE|RETWEETED]->() return u.screen_name LIMIT 1000;
MATCH (u:User) WHERE (u)-[:WROTE|RETWEETED]->() return u.screen_name;