我需要将csv文件导入到Neo4j数据库,使用的是load csv
语句。
这个语句的导入速度理论上可以达到大约1w/s,但是远没有。
我把cql语句写到cypher.cql文件里,通过
ssh user@neo4j-server "cat cypher.cql | cypher-shell"
这种方式导入的,速度很慢!
于是我ssh user@neo4j-server
登录到Neo4j所在机器上直接通过
cat cypher.cql | cypher-shell
执行速度就是正常的。
后来我把cypher.cql的内容里每行cql语句都加上cypher-shell
,变成了cypher-shell "load csv ..."
,顺便把文件名改成了cypher.sh,通过
ssh user@neo4j-server "sh cypher.sh"
执行导入,速度也正常了。
所以想问下,ssh远程执行命令的情况下,再加上了cat | ...
这种管道的方式,会影响IO性能吗?还是说跟Neo4j的功能有关?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…