Таблица связи тегов со статьями. Просто колонка с ID, которую обычно делаем первичным ключом по сути не нужна. Можно сделать составной первичный ключ ID тега <-> ID статьи такая пара всегда будет уникальной.
Но innodb же хранит копию первичного ключа в каждой ячейке таблицы, выходит если он будет составным - это приведёт к излишнему расходу памяти... Стоит ли так делать или лучше классический ID а на эти 2 поля просто уникальный индекс повесить?
Для правильного вопроса надо знать половину ответа
Но innodb же хранит копию первичного ключа в каждой ячейке таблицы
А где вы такое увидели? Индексы хранятся в отдельной структуре, причём первичный индекс в InnoDB будет кластерным, а уникальный, при наличии первичного, - нет.