Las tablas temporales son como las tablas ordinarias en la mayoría de las características, excepto que entran en TempDB en lugar de la base de datos actual, y desaparecen después del alcance limitado (dependiendo de si son tablas TEM basadas en sesiones o globales). en las tablas Temp está registrado en el registro de transacciones, con todas las implicaciones de rendimiento que esto conlleva. otoh, también puede agregar tantos índices o vistas, o desencadenantes, o lo que sea que desee a una tabla temporal exactamente como lo haría con una tabla ordinaria Tabla
Las variables de tabla son un tipo de tabla corta en memoria (también usan temp DB). Los cambios en ellas no se registran (esto mejora el rendimiento) .Pero solo puede obtener un índice sobre ellas, (porque los índices no se pueden crear después de la declaración inicial esultados, el único índice que puede crear en una variable de tabla es la que se puede incluir en la tabla de declaración de variables inicial ...
Declare @Tab Table (myKey integer Primary Key Not Null, data varchar(20))
Debido a estas características, tablas temporales son la mejor opción para tablas grandes, (de ancho y con muchas filas), y/o que experimentarán más de un patrón de acceso durante su vida útil, mientras que las variables de tabla son mejores cuando se necesita una tabla muy estrecha (tabla de solo claves o clave con solo una columna de datos), que siempre debe accederse mediante esa clave indexada ...
[Mi respuesta aquí cubre esta manera abarcadora] (http://dba.stackexchange.com/q/16385/3690) –
@ Martin: pregunta impresionante, y sobre todo responder. ¡Gracias! – abatishchev