Je suis nouveau sur NEO4J mais je travaille avec MySQL depuis de nombreuses années. Maintenant, j'ai créé une base de données avec 700 000 utilisateurs, 800 000 livres de recettes et 1,6 million de recettes enregistrées dans NEO4J.NEO4J Match lent contre MySQL
La structure des nœuds est la suivante: (Utilisateur) - [: CREATED] - (: Cookbook) - [: SAVED] - (: Recipe). Tous les utilisateurs et les recettes sont uniques, mais un utilisateur peut avoir des livres de cuisine multipistes et chaque livre de cuisine peut avoir des recettes multipel. J'utilise un EC2 m3.x2large, donc c'est assez rapide. Mais la performance est très mauvaise. Cette requête:
MATCH (r: Recette {id_recip .: 2987431}) return r;
Prendre entre 300-500 ms et mysql peut l'exécuter en environ 2 ms.
Est-ce normal ou ai-je configuré le serveur de manière incorrecte?
(je un index sur: Recette (recette_id))
votre index est-il une contrainte unique? comme dans 'CREATE CONSTRAINT ON (livre: livre) ASSERT book.isbn EST UNIQUE'? – Joshua
Oui c'est unique. –
Non ce n'est pas normal car ici vous n'utilisez que l'index. Par exemple sur mon ordinateur ce genre de requête avec la même volumétrie prend 10ms. Pour tester la requête, utilisez-vous le navigateur ou neo4j-shell? – logisima