Det grundlæggende er, at du skal gemme tags, som du viser i første tilfælde. Det er godt til at kontrollere, om tag eksisterer (da i andet tilfælde for eksisterende tags ville din db returnere lige så mange rækker, som der er de forekomster af tag) og god til at hente varer efter tag (vælg vare-id med ét tag-id er bedre end at vælge vare id'er af et sæt tag_id, som har samme repræsentationsbetydning).
Hvis du havde brændt dine fingre på grund af indeksering - bør du altid tjekke, hvordan forespørgslen udføres (for mysql er det EXPLAIN/DESCRIBE SELECT
).