“Stored procedures are precompiled and cached so the performance is much better.”
Three things happen when a SQL command is executed:
- The SQL syntax is checked for any errors.
- The best plan is selected to execute the SQL (choice to use clustered index, non-clustered etc.).
- Finally the SQL is executed.
When a stored procedure for
the first time it will go through all the above steps and the plan will
be cached in-memory. So
the next time when the stored procedure is executed it just takes the
plan from
the cache and executes the same. This increases performance as the first
two steps are completely eliminated.
It implies that for inline queries all
the above steps are repeated again and again which brings down
the performance considerably.
The above explanation was pretty valid and true for older versions of SQL Server, but from 2005 onwards, all SQL statements,
irrespective of it’s a SQL coming from inline code or stored procedure or from anywhere
else, they are compiled and cached.
Detailed blog from CodeProject.com at
http://bit.ly/PhofYm
No comments:
Post a Comment