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
What is star, snowflake and star flake schema? : sql server analysis services, ssas
How to generate create function script on an existing function?
Tell me in brief how sql server enhances scalability of the database system?
How real and float literal values are rounded?
How to insert new line characters into strings?
List some of the rules that apply to creating and using a ‘view’
What language is sql server written in?
How do triggers work?
How do I find the sql server instance name?
What samples and sample databases are provided by microsoft?
List layers of abstraction microsoft architectured to provide relational db through cloud platform ?
What is the difference between Normalization and De-normalization?
What is the use of nvl work?
What is merge statement?
What objects does the fn_my_permissions function reports on? : sql server security