Indexing “多重”;创建索引";在neo4j中,是否会减慢对图形数据库的搜索/更新?

Indexing “多重”;创建索引";在neo4j中,是否会减慢对图形数据库的搜索/更新?,indexing,neo4j,py2neo,Indexing,Neo4j,Py2neo,最近,我注意到从CSV文件(创建节点和关系)上传到我的图形数据库的速度大大降低了。在寻找罪魁祸首的过程中,我想知道执行多个“创建索引:[节点标签](节点属性)”可能是原因之一。是否有人知道在同一个图形数据库上键入例如“创建索引:人员(名称)”的效果?我意识到,每当我将另一个CSV文件上传到同一个图形数据库时,我都在执行“创建索引:Person(Name)”。这是否意味着每次都会创建一个关于Person的索引,从而生成多个索引文件?或者,对于标签和属性对的唯一名称,只有一个唯一索引表?多谢各位 下

最近,我注意到从CSV文件(创建节点和关系)上传到我的图形数据库的速度大大降低了。在寻找罪魁祸首的过程中,我想知道执行多个“创建索引:[节点标签](节点属性)”可能是原因之一。是否有人知道在同一个图形数据库上键入例如“创建索引:人员(名称)”的效果?我意识到,每当我将另一个CSV文件上传到同一个图形数据库时,我都在执行“创建索引:Person(Name)”。这是否意味着每次都会创建一个关于Person的索引,从而生成多个索引文件?或者,对于标签和属性对的唯一名称,只有一个唯一索引表?多谢各位

下面是更新CSV文件数据的cypher查询:每个文件包含三列双精度数据和5000行。更新每个文件大约需要300秒(5分钟)。这似乎太长了

from py2neo import Graph
import glob

for file_path in glob.glob("*.csv"):
    paths = 'File:'+file_path
    tx= graph.cypher.begin()
    qs1 = "LOAD CSV WITH HEADERS FROM {file_path} AS csvLine \
           MATCH (p1:Person {Id:csvLine.name}),(p2:Product {Id:csvLine.ID}) \
           MERGE (p1)-[s:BOUGHT]-(p2) \
                  ON CREATE SET s.numbers=csvLine.numbers,
                                s.price  =csvLine.price,
                                s.location=csvLine.location,
                                s.date = csvLine.date
    tx.append(qs1, parameters = {"file_path":paths})
    tx.commit()

只有一个索引。当您在浏览器中执行
:schema
并在shell中执行
schema
时,可以看到它们

也许您可以共享您的load csv语句?还有你的索引

最好还可以共享概要信息(在shell中用
profile
作为语句的前缀),并注意以下问题:


特别是迫不及待的加载。

正如所怀疑的那样,罪魁祸首原来是内存问题。 按照中“内存配置”下的说明进行(1)neo4j包装和(2)适合我的服务器规格的内存映射设置


应该注意的是,尽管配置文件说“Java堆大小是根据可用的系统资源动态计算的”,但对于中型或大型数据集,似乎需要手动设置。

感谢您提供的站点信息。我将查看详细信息。同时,我更新了问题中的密码查询。如有任何建议,我将不胜感激。仅供参考,每个文件包含3列双精度数据,大约5000行。根据参考,我发现我的CSV文件非常干净,所以我怀疑这是CSV文件的问题。另一方面,我的怀疑在于记忆。目前,我的服务器中的总内存为3854812(KB),使用了3631204(KB)。223576(KB)是免费的。在neo4j.properties中,我当前设置了neostore.nodestore.db.mapped_memory=25M neostore.relationshipstore.db.mapped_memory=50M neostore.propertystore.db.mapped_memory=90M neostore.propertystore.db.strings.mapped_memory=130M neostore.propertystore.db.arrays.mapped_memory=130M。你认为这是记忆问题吗?