Я предполагаю, что с каждой новостью вы получите список строк, которые являются предполагаемыми «тегами». Из структуры, которую вы дали, вы можете иметь только один тег на каждую новость? Это кажется необычным, но ниже все равно применимо.
Если ваша таблица тегов имеет индекс, поиск будет очень быстрым, и база данных все равно позаботится о кэшировании, поэтому не беспокойтесь о кэшировании. Вы будете поражены тем, насколько сильно база данных может ускорить процесс, если у вас есть индексы в нужном месте
Делайте выбор из тегов, где Tag = что угодно1 (делайте это для каждого тега), каждый раз, если строки не возвращаются, вставьте его, в противном случае используйте найденный вами идентификатор для этого. Запустите процесс для каждой вставки.