Es ist gut, wenn Du auf Tabellen umgestiegen bist. Es ist ein Irrglaube, dass man durch wilde Algorithmik innerhalb einer Row den SQL Server entlasten könnte. Die relationalen Operationen führt ein SQL Server sehr fix und optimiert durch, dafür wurde er ja gebaut. Alles, was darüber hinausgeht, ist typischerweise umständlich und langsam.
Und übrigens: Der erste Parameter von MAKE_SET ist kein Index. Es ist eine Bitmap, mit der Du auswählst, welche der darauf folgenden Strings Du haben willst und welche nicht.
MAKE_SET(13, 'a', 'b', 'c', 'd') liefert 'a,c,d' (weil 5 binär 1101 ist)
MAKE_SET(41, 'a', 'schnurz', 'huhu', 'c', 'selfhtml', 'd') liefert ebenfalls 'a,c,d', wegen 41=101001b
Für deine Begriffe (liste1) mag das irgendwie noch angehen. Für deine Zähler (liste2) sind die SET-Funktionen komplett ungeeignet.
Rolf