Как оптимизировать проверку в базе наличия записи (чтобы не сделать дубль)?
Добавь ещё одно индексное поле с md5(все данные таблицы) и при проверке на дубль сравнивай хеши.
SELECT 1 FROM table WHERE hash='5c331a6790ba2d61a5c372336c9d215e'
Ответ на Ваш вопрос будет сильно зависеть от того, зачем вы проверяете на наличие имеющейся записи? Если для того чтобы сделать INSERT если записи нет и UPDATE если запись уже есть, то возможно вам стоит применить конструкцию ON DUPLICATE KEY, тем самым сможете во-первых возложить проверку на БД, во вторых, получите возможность лить данные пачкой, и в третих уберете лишний оверхед появляющийся от позаписного исполнения.