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


Please Help Members By Posting Answers For Below Questions

What is star, snowflake and star flake schema? : sql server analysis services, ssas

667


How to generate create function script on an existing function?

596


Tell me in brief how sql server enhances scalability of the database system?

540


How real and float literal values are rounded?

594


How to insert new line characters into strings?

566






List some of the rules that apply to creating and using a ‘view’

505


What language is sql server written in?

534


How do triggers work?

544


How do I find the sql server instance name?

534


What samples and sample databases are provided by microsoft?

580


List layers of abstraction microsoft architectured to provide relational db through cloud platform ?

162


What is the difference between Normalization and De-normalization?

569


What is the use of nvl work?

571


What is merge statement?

629


What objects does the fn_my_permissions function reports on? : sql server security

563