[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now


What is faster- INSERT INTO or stored procedure that insert info ?

Posted on 2008-11-04
Medium Priority
Last Modified: 2012-05-05
Hello experts!

I have to insert one row in table with many records (and 2-4 indexes). I use this in real time system that do many other thinks and this insert MUST be do with minimal time.

What is faster  to execute one INSERT INTO with run time string that is pass to SQL server 2005    or    to write stored procedure that have parameters and it actually execute this INSERT INTO.
As I know stored procedure are precompiled in advance so they are faster. Is this is true when stored procedure insert record ? Can I see some speed comparison between stored procedure and INSERT INTO ?
Question by:dvplayltd
LVL 37

Expert Comment

ID: 22874285
regular statements are also precompiled, so as long as the query text is exactly the same (and you use prepared statement in order to pass parameters) , the query won't be recompiled
i don't know if anyone can provide a solid benchmark that compares the two
i suggest you just try both options and see for yourself
run the insert statement in a loop for 100k times
call the stored procedure in a loop for 100k times
see which one takes longer on the average case

Author Comment

ID: 22874503
I pass regular statements using ADO 2.7 "connection.execite" and I am sure that INSERT INTO is not precompiled ever sql string is same.

I know that stored procedures are precompiled - so SELECT caluse are very benefit from it, because execite plan is  ready. Is INSERT INTO also has benefit ? In other words - when you have INSERT INTO does SQL server create execite plan ? If INSERT INTO also have execite plan - stored procedure will be some times faster.

Accepted Solution

kerwinsiy earned 2000 total points
ID: 22874637
there would not be much difference in performance. but it would be a lot faster if you concatenated all the query in the run time to execute a 1 time request to the server. performance issue will be raised if you created a loop that will connect to the database every time you want to insert. it is advisable to create a concatenated insert statement in a string after concatening all the insert statement then execute it to the db.

by the way if your going to concatenate indefinite length of string or long string you should use string builder instead of string.

another solution is using data adapter batch update.

Featured Post

Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Recently, when I was asked to create a new SQL 2005 cluster, Microsoft released a new service pack for MS SQL 2005 what is Service Pack 3. When I finished the installation of MS SQL 2005 I found myself troubled why the installation of SP3 failed …
In this article I will describe the Copy Database Wizard method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
this video summaries big data hadoop online training demo (http://onlineitguru.com/big-data-hadoop-online-training-placement.html) , and covers basics in big data hadoop .
Screencast - Getting to Know the Pipeline

834 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question