jeżeli chodzi o wydajność:

1. premature optimization is the root of all evil
2. u Ciebie to i tak nie będzie wydajne bo
a) jeżeli user miałby 1000 tagów to musisz wszystkie przeleciec aby 2 rzeczy wyciagnac
b) jezeli user bedzie mial 1000 tagow to bedizesz mial 1000 ifów i bedizesz dla kazdego taga sprawdzał kazdego ifa :)