What is the difference between temp table and table variable?
Answer Posted / yugal
1) Table variables don't participate in transactions,
logging or locking. This means they're faster as they don't
require the overhead, but conversely you don't get those
features.
2) Procedure with a temporary table cannot be pre-compiled,
while an execution plan of procedures with table variables
can be statically compiled in advance. Pre-compiling a
script gives a major advantage to its speed of execution.
This advantage can be dramatic for long procedures, where
recompilation can be too pricy
3) Table variables exist only in the same scope as
variables. Contrary to the temporary tables, they are not
visible in inner stored procedures and in exec (string)
statements. Also, they cannot be used in an insert/exec
statement.
4) You can create a temp table using SELECT INTO, which can
be quicker to write (good for ad-hoc querying) and may
allow you to deal with changing datatypes over time, since
you don't need to define your temp table structure upfront.
5) You cannot truncate a table variable but temporary table
can be truncated.
6) You cannot drop a table variable when it is no longer
necessary—you just need to let it go out of scope but
temporary table can be dropped.
7) Table variables cannot be altered after they have been
declared but temporary table can be altered.
| Is This Answer Correct ? | 6 Yes | 3 No |
Post New Answer View All Answers
How to create percentile function?
Explain the phases a transaction has to undergo?
Define self join in sql server joins?
what's the difference between a primary key and a unique key? : Sql server database administration
What is a field name?
When would you prefer to have a minimum number of indexes?
What is 1nf 2nf?
Why transaction is important?
How to defragment table indexes?
What is the chart in report?
How can I check if a view exists in a sql server database?
What will be the maximum number of indexes per table?
What happens if the update subquery returns multiple rows in ms sql server?
Once setting replication, can you have distributor on sql server 2005, publisher of sql server 2008?
Which are the olap features?