2010-04-30 23 views
5

Tengo una duda ¿Por qué deberíamos usar la tabla temporal? ¿Hay alguna cosa especial en la tabla temporal y dónde deberíamos usar las tablas temporales? ¿Puede por favor explicarme o cualquier referencia gracias?Tablas temporales en el servidor sql?

Respuesta

4

Hay muchos usos para tablas temporales. Pueden ser muy útiles para manejar datos en consultas complejas. Su pregunta es vaga, y realmente no tiene una respuesta, pero estoy vinculando a cierta documentación de tabla temporal.

Tienen la mayoría de las mismas capacidades de tabla, incluidas las restricciones y la indexación. Pueden ser globales o estar limitados al alcance actual. También pueden ser ineficientes, así que tenga cuidado como siempre.

http://www.sqlservercentral.com/articles/T-SQL/temptablesinsqlserver/1279/
http://msdn.microsoft.com/en-us/library/aa258255%28SQL.80%29.aspx

11

Al escribir código T-SQL, que a menudo necesitan una mesa en la que almacenar datos de forma temporal cuando llega el momento de ejecutar ese código. Tiene cuatro opciones de tabla: tablas normales, tablas temporales locales, tablas temporales globales y variables de tabla. Cada una de las cuatro opciones de mesa tiene su propia finalidad y el uso, y cada uno tiene sus ventajas y sus problemas:

* Normal tables are exactly that, physical tables defined in your database. 

* Local temporary tables are temporary tables that are available only to the session that created them. These tables are automatically destroyed at the termination of the procedure or session that created them. 

* Global temporary tables are temporary tables that are available to all sessions and all users. They are dropped automatically when the last session using the temporary table has completed. Both local temporary tables and global temporary tables are physical tables created within the tempdb database. 

* Table variables are stored within memory but are laid out like a table. Table variables are partially stored on disk and partially stored in memory. It's a common misconception that table variables are stored only in memory. Because they are partially stored in memory, the access time for a table variable can be faster than the time it takes to access a temporary table. 

cuál usar:

* If you have less than 100 rows generally use a table variable. Otherwise use a temporary table. This is because SQL Server won't create statistics on table variables. 
* If you need to create indexes on it then you must use a temporary table. 
* When using temporary tables always create them and create any indexes and then use them. This will help reduce recompilations. The impact of this is reduced starting in SQL Server 2005 but it's still a good idea. 

Please refer this page http://www.sqlteam.com/article/temporary-tables

2

Las tablas temporales se puede crear en tiempo de ejecución y puede hacer todo tipo de operaciones que una tabla normal puede hacer. Pero, según los tipos de tabla, el alcance es limitado. Estas tablas se crean dentro de la base de datos tempdb.

SQL Server proporciona dos tipos de tablas temporales basadas en el comportamiento y el alcance de la tabla. Estos son:

tabla temporal local

tabla temporal global

tabla temporal local tablas temporales locales sólo están disponibles para la conexión actual para el usuario; y se eliminan automáticamente cuando el usuario se desconecta de las instancias. El nombre de tabla temporal local se mira con signo hash ("#"). Global Temp Table Global El nombre de tablas temporales comienza con un doble hash ("##"). Una vez que esta tabla ha sido creada por una conexión, como una tabla permanente, está disponible para cualquier usuario mediante cualquier conexión. Solo se puede eliminar una vez que se hayan cerrado todas las conexiones.

¿Cuándo utilizar las tablas temporales?

• Cuando estamos haciendo una gran cantidad de manipulación de filas en procedimientos almacenados. • Esto es útil para reemplazar el cursor. Podemos almacenar los datos del conjunto de resultados en una tabla temporal, luego podemos manipular los datos desde allí. • Cuando estamos teniendo una operación de unión compleja.

Puntos para recordar Antes de utilizar tablas temporales -

• tabla temporal creada en tempdb de SQL Server. Esta es una base de datos separada. Entonces, esto es una sobrecarga adicional y puede causar problemas de rendimiento. • El número de filas y columnas debe ser el mínimo necesario. • Las tablas deben borrarse cuando hayan terminado su trabajo.

enfoque alternativo: Tabla Variable-

alternativa de la tabla temporal es la variable de tabla que puede hacer todo tipo de operaciones que podemos realizar en la tabla de temperatura. A continuación se muestra la sintaxis para usar la variable Tabla.

Cuándo utilizar Variable Tabla Durante tabla temporal -

Tablevariable es siempre útil para menos datos. Si el conjunto de resultados devuelve una gran cantidad de registros, necesitamos ir a la tabla temporal.

Cuestiones relacionadas