PDO к вопросу не имеет ни малейшего отношения.
Вопрос только в том, как определить, нужен ли нам запрос UPDATE или INSERT. причем вопросы высосан из пальца. Начинающие пользователи пхп очень часто предаются мечтаниям вместо того чтобы писать код. И из таких мечтаний получаются вопросы типа
В методе save мы можем получить все id из базы и сравнить их с id новой новости
Если бы автор занимался написанием кода, а не мечтаниями, то сразу бы увидел, что
никакого id у новой записи в принципе нет, и быть не может. Что и является признаком, по которому мы определяем, какой запрос выполнить. И таким образом задача "получить все id из базы и сравнить их с id новости" исчезает сама собой, а в месте с ней и страхи про ужасную нагрузку на БД.
В порядке благотворительности можно, впрочем, рассказать автору о том, что
- синтаксис запроса для обновление выглядит как UPDATE news SET title=:title, text=:text WHERE id=:id'
- даже если нам нужно было бы првоерять существование ид в базе, для этого
не нужно выбирать ид всех новостей. Достаточно запросить
одну запись с интересующим нас ид.