I'm presently searching at some code that's doing even trivial place/choose/update by running saved methods.

Therefore the code essentially does

CallableStatememt stm= jdbcConnection.prepareCall(sp_name with ??) ;
stm.setParameters()
stm.execute();

When I stated prior to the code behint sp_title is mainly trivial. No multi table card inserts or complicated information.

What are the benefits against just doing

Statement stm = jdbcConnection.prepareStatement(insert_query)
stm.setParameters();
stm.execute();

where insert_queryis really a 'normal' single Place / Choose / ... statement?

Three primary performance advantages spring to mind...
1. The string delivered to the SQL Server is shorter
2. Which makes the parsing time shorter
3. The execution plan's ready ahead of time

Although apparently trivial, the second point could be important checking that objects exist, correct quantity of fields, etc.

Overall, however, I'd say individuals only matter when being known as several occasions in succession.


A larger advantage, for me, is definitely an engineering one Encapsulation.

Later on you might wish to add logging, or consistency inspections, business logic, or anything. By encapsulating it inside a SP, it'll only ever need studying in one location.

A saved procedure is really a precompiled executable object that consists of a number of SQL claims.Since, saved methods are precompiled objects they execute faster in the database server. More often than not, saved methods contain several command

See more here :

More about Saved methods :