Во-первых, посмотрите на дизайн, который требует так много параметров - есть ли способ уменьшить необходимость отправки такого большого количества информации на сервер?
Во-вторых, вернитесь к первому пункту снова, потому что он все еще "пахнет" неправильно: -)
Тогда вы можете делать такие вещи, как:
Разделить хранимую процедуру. Если вам не нужно передавать все данные в виде единого связанного кусочка, то вы можете разделить один SP на несколько, которые выполняют разные части общего действия (например, обновить имя пользователя и адресные данные отдельно от добавления их последней покупки, или что угодно)
объединить параметры. Если у вас есть пять логических значений, которые указывают различные параметры, вы можете объединить их в один байт «флагов» с побитовыми операциями. Или, если у вас есть два 32-разрядных типа int, которые содержат значения только от 0,5 до 5000, они могут быть объединены в одно 32-разрядное целое число. и т.д.
Сериализация всех параметров в «формате файла» и отправка данных в виде одного двоичного или текстового параметра, который вы десериализуете в своей хранимой процедуре.
Конечно, эти подходы означают кодирование и декодирование большого количества параметров каждый раз, что может быть хуже, чем передавать их все по отдельности. В самом деле, можно утверждать, что механизмы вызова SQL уже выполняют вышесказанное за вас.