ignore autoincrement уничтожает, т.е. инкрементит за зря, лучше все таки select update, не нашел вставил. Правильно раставленые индексы помогут ускорить проверку на существование записи.
"REPLACE works exactly like INSERT, except that if an old row in the table has the same value as a new row for a PRIMARY KEY or a UNIQUE index, the old row is deleted before the new row is inserted. "
"REPLACE works exactly like INSERT, except that if an old row in the table has the same value as a new row for a PRIMARY KEY or a UNIQUE index, the old row is deleted before the new row is inserted. "
Если будет существенный поток, то быстрее всего будет работать через импорт из csv во временную таблицу и оттуда перегонкой через insert into on duplicate key update