Я поддерживаю функцию в SQL Server 2005, которая на основе целочисленного входного параметра должна вызывать различные функции, например,
IF @rule_id = 1
-- execute function 1
ELSE IF @rule_id = 2
-- execute function 2
ELSE IF @rule_id = 3
... etc
Проблема в том, что существует довольно мало правил (около 100), и, хотя вышеприведенное довольно читабельно, его производительность невелика. На данный момент он реализован в виде серии IF, которые выполняют бинарную нарезку, которая намного быстрее, но становится довольно неприятной для чтения и обслуживания. Какие-нибудь альтернативные идеи для чего-то, что работает хорошо и является довольно ремонтопригодным?