2016-01-28 5 views
1

Я получаю ежедневно полный файл csv со всеми клиентами. Мне нужно вставить/обновить базу данных neo4j. Поэтому я использую этот запрос:Neo4j - плохая производительность

Я уже создаю индексы на поле hash.

MERGE (XFEWYX:CUSTOMER_BSELLER {hash:'[email protected]'}) ON CREATE SET XFEWYX.hash = '[email protected]',XFEWYX.name = 'XYZ ',XFEWYX.birthdate = '1975-05-20T00:00:00',XFEWYX.id = '1770852',XFEWYX.nick = 'CLARISSA',XFEWYX.documentNumber = 'XYZ',XFEWYX.email = '[email protected]' with XFEWYX 
MERGE (WHHEKX:EMAIL {hash:'[email protected]'}) ON CREATE SET WHHEKX.hash = '[email protected]',WHHEKX.email = '[email protected]' with XFEWYX,WHHEKX 
MERGE (JJKONT:DOCUMENT {hash:'06845078700'}) ON CREATE SET JJKONT.document = 'XYZ',JJKONT.hash = '06845078700' with XFEWYX,WHHEKX,JJKONT 
MERGE (MERUCB:PHONE {hash:'NoneNone'}) ON CREATE SET MERUCB.areaCode = 'None',MERUCB.hash = 'NoneNone',MERUCB.number = 'None' with XFEWYX,WHHEKX,JJKONT,MERUCB 
MERGE (BOORBT:PHONE {hash:'XYZ'}) ON CREATE SET BOORBT.areaCode = '21',BOORBT.hash = 'XYZ',BOORBT.number = 'XYZ' with XFEWYX,WHHEKX,JJKONT,MERUCB,BOORBT 
MERGE (XBLZNF:PHONE {hash:'XYZ'}) ON CREATE SET XBLZNF.areaCode = '21',XBLZNF.hash = 'XYZ',XBLZNF.number = 'XYZ' with XFEWYX,WHHEKX,JJKONT,MERUCB,BOORBT,XBLZNF 
MERGE (XFEWYX)-[:REGISTERED_WITH {optin:'false'}]->(WHHEKX) 
MERGE (XFEWYX)-[:DOCUMENT]->(JJKONT) 
MERGE (XFEWYX)-[:COMMERCIAL_PHONE]->(MERUCB) 
MERGE (XFEWYX)-[:PHONE]->(XBLZNF) 
MERGE (XFEWYX)-[:CELL_PHONE]->(BOORBT) 

Есть ли у кого-нибудь другой подход, как выполнить этот запрос?

ответ

1

Я бы попытался использовать команду PROFILE. Вы можете поставить LIMIT на свой LOAD CSV (предположим, вы используете LOAD CSV) для тестирования.

Я хотел бы также проверить эту статью:

http://www.markhneedham.com/blog/2014/10/23/neo4j-cypher-avoiding-the-eager/

Некоторые, которые были зафиксированы в последних версиях Neo4j, но у вас есть очень много MERGE с там, так что вы, вероятно, может стоять разделите часть этого и обработайте файл CSV более одного раза.

Смежные вопросы