У меня проблема с производительностью с объемной вставкой в neo4j.Загрузить производительность слияния csv
У меня есть файл csv с 400k строк, который производит около 3,5 миллионов строк, и я использую команду LOAD CSV, с последней версией на neo4j.
Я заметил, что когда я создаю инструкцию пользователя, загрузка занимает около 4 минут и без индексов - всего около 3,5 минут.
Мой первый вопрос, является ли это нормальная скорость узлов/мин.
Теперь, моя настоящая проблема заключается в том, что мне нужно использовать слияние, для целей целостности данных, а когда я его использую, это может занять даже 24 часа вместе с индексами.
Так 2 дополнительные вопросы будут:
ли НАГРУЗКИ CSV рекомендуется для лучшей производительности нагрузки,
, а также: Что я могу сделать, сделать по этому вопросу производительности?
EDIT:
вот запрос:
LOAD CSV WITH HEADERS FROM 'file:///import.csv' AS line FIELDTERMINATOR '|'
MERGE (session :Session { session:line.session })
MERGE (hit :Hit { key:line.key,date_time:line.date_time,session:line.session })
MERGE (user :User { id:line.user_id })
MERGE (session2 :Session2 { session2:line.session2 })
MERGE (country :Country{ name:line.country})
MERGE (tv :TV { name:tv.Model })
MERGE (transfer_protocol :Protocol { name:line.transfer_protocol })
MERGE (os :OS { name:line.os_name ,version:line.os_version, row_key:line.os_name+line.os_version})
Образец: session_guid | hit_key_guid | useridguid | session2_guid | PANASONIC | TCP | ANDROID | 5,0
сеанс, пользователь, session2, country, tv, transfer_protocol и os имеет уникальное ограничение, а hit имеет индекс
** session1 и session 2 может иметь много ударов (от 1 до 100, в среднем 5) hit_key_guid отличается для каждой строки csv
он работает очень медленно, довольно сильная машина, и каждая 1000 строк может занимать до 10 секунд.
также проверил с профилировщика, и нет «Eager»
благодаря
Лиор
привет @ Michael-вешалке добавлена в исходном сообщение, спасибо! –