Főleg Oracle-t használok abból indulok ki:
Ami lassítani fog, az valszeg a prepare statement és az execute, illetve ha túl sokat nyitogatsz kurzorokat.
Szóval a 2-es verziót részesíteném előnyben azzal a különbséggel, hogy az futtatandó eljárásokat beletölteném egy gyors temporary táblába (mivel sajnos nincs tömb), és arra nyitnám a @proc kurzort.
3) ha nem túl gyakran változik a futtatandó eljárások listája, és viszonylag kevés proc_type van, akkor az alkalmazásból generálnék proc_type-onként egy tárolt eljárást, ami meghívja az alá tartozó proc-okat. Proc a tábla változása esetén kellene csak újragenerálni őket, akkor is csak az érintetteket. Ezzel komolyabban bevonod az alkalmazást, mint eredetileg szeretted volna, de ennyit talán megér.