Ну тогда сделай цикл, который будет перебирать id нужных продуктов, на каждой итерации - select+insert, не самое изящное решение, но поставленную задачу решает.
Во-первых, не обязательно за один цикл обработать сразу все 50 файлов, можно по одному.
Данные конечно придется хранить в БД.
Для проверки существования не нужно делать SELECT, есть такая вещь как ON DUPLICATE KEY UPDATE, главное правильно сделать primary key для таблицы. Если операции с таблицами начнут занимать много времени из-за объема данных в них - нужно подумать в сторону шардирования.
Как-то примерно так.