Мы пытались использовать Microsoft JDBC Driver 2.0 с SQL Server 2005. Проблема мы нарваться было - при вызове хранимой процедуры, драйвер генерировал следующие операторы SQL -
declare @P1 int
set @P1=1
exec sp_prepexec @P1 output, N'@P0 int', N'EXEC getEmployeeManagers @P0', 50
select @P1
Так хранимые процедуры запуска в операциях sp_prepexec
. И позже, когда вы закроете заявление, вызывается. По-видимому, это поведение по умолчанию для драйвера MS. Проблема заключается в том, что накладные расходы для создания подготовленного оператора, а затем для его закрытия имеют влияние производительности. Почему не может водитель просто сделать это -
exec getEmployeeManagers @P0=50
Теперь мы используем драйвер jTDS и это, кажется, выполняет большой.
Разве это не SQL Server 2008? Ну, по крайней мере, вы не используете MS Access! – fiddlesticks 2008-12-04 17:13:42