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