Можно обновлять столбец одним запросом.
Кусок кода из моего rss ридера
$sql_insert = "INSERT IGNORE INTO `news` (feed_id,title,link,description,pubDate,hash) VALUES";
$sql_insert_array = [];
$need_insert = false;
foreach ($parser as $v) {
...
$sql_insert .="(?,?,?,?,?,?),";
array_push($sql_insert_array,$feed_id,$title,$v['link'],$desc,$v['update'], md5($desc.$title));
$need_insert = true;
}
if($need_insert){
$sql_insert = rtrim($sql_insert,",");
$sql_insert .= " ON DUPLICATE KEY UPDATE `feed_id`=VALUES(`feed_id`), `title`=VALUES(`title`), `link`=VALUES(`link`), `description`=VALUES(`description`), `pubDate`=VALUES(`pubDate`), `hash`=VALUES(`hash`)";
$this->db->prepare($sql_insert)->execute($sql_insert_array);
}
По полю hash построен уникальный индекс.