Я уже писал агрегатор каналов, но пытаюсь его немного оптимизировать. В прошлом, используя simplepie (класс php) для анализа каналов, я использовал функцию get_id() для каждого элемента канала, чтобы вернуть хэш (смесь md5 ссылки + заголовка). Я храню этот «id» как «remote_id» в MySQL. Однако, чтобы убедиться, что у меня нет дубликатов, я выполнял запрос SELECT для каждого элемента фида, чтобы убедиться, что «remote_id» не существует. Это кажется неэффективным, учитывая, что я смотрю на 1000 каналов.
Является ли наиболее эффективным просто превратить remote_id в уникальный ключ, а затем позволить базе данных не записывать новую запись при каждом проходе? Есть ли другой способ спроектировать это лучше?