Есть массив:
$person = ['Петров Александр 10.10.1990', 'Иванов Владимир 09.08.1995', 'Силанова Ольга 01.12.1980']
В моей базе по каждому из людей есть подробная информация. Столбец
person так и выглядит:
Петров Александр 10.10.1990, а в столбце
result как раз доп. инфа.
Мне нужно узнать, изменились ли данные на стороннем сервисе, относительно моих. Я этот массив с людьми пересобираю и делаю запрос на сторонний api. В ответ мне приходит огромный массив, где просто в том же порядке, что и мой изначальный массив находится описание каждого человека.
Далее я должна сравнить данные с теми, что в БД и те, что я получала. И вот здесь у меня вопрос: по сути, я могу сделать перебор
$person и делать SELECT в базу, где
person = $person[$i];
, но у меня очень часто значение result может быть null и поэтому сравнение пройдёт очень быстро, следовательно сразу будет происходить следующий запрос в БД, и я буду делать большую нагрузку на БД. Может стоит группировать запросы и сразу получить весь массив из БД, а потом перебором сравнивать их?
И если лучше группировка, то подскажите, как это организовать, если:
1. свой массив $person я получаю из БД (имеется в виду, он не постоянный и генерировать запрос в БД мне надо на лету)
2. я использую PDO и обычный запрос на одного человека у меня выглядит вот так:
$pdoGet = $pdo->prepare("SELECT result,id FROM data WHERE person = ? ORDER BY id DESC");
$pdoGet->execute([$pers]);
$frombd_strstr = $pdoGet->fetch();