Эффективный способ определения того, какие значения в CSV НЕ находятся в БД?

Поставщик подает нам CSV-файл своих продуктов. Отдельным столбцом в файле (например, столбец 3) является номер стиля. Этот файл содержит тысячи записей.

У нас есть таблица данных продуктов с колонкой под названием manufacturer_num, которая является номером стиля вендоров.

Мне нужно найти, какой из продуктов поставщика мы в настоящее время не имеем.

Я знаю, что я могу зацикливать каждую строку в файле CSV и извлекать номер стиля и проверять, находится ли она в нашей базе данных. Но затем я звоню в базу данных для каждой строки. Это будет тысячи вызовов в базу данных. Я думаю, что это неэффективно.

Я мог бы также создать список номеров стилей (либо как строку или массив), чтобы сделать один вызов БД. Что-то вроде: WHERE manufactuer_num IN(...) Но не будет ли у PHP заканчиваться память, если список слишком велик? И на самом деле это даст мне те, которые у нас есть, а не те, которых у нас нет.

Каков эффективный способ сделать это?

Solutions Collecting From Web of "Эффективный способ определения того, какие значения в CSV НЕ находятся в БД?"