2 comentarios

Tablas temporales versus Variables de Tabla


Grimpi IT Blog

Una duda bastante comun entre los desarrolladores que trabajan con SQL Server, es saber
distinguir entre una tabla temporal y una variable de tabla.
Ambas estructuras presentan varias diferencias importantes, y fueron hechas para resolver distintos problemas, aunque en muchas situaciones, su uso puede superponerse.
Veamos algunas características de las variables de tabla y sus diferencias con las tablas temporales:

1) Contra lo que muchos suponen, el contenido de una variable de tabla no siempre esta completamente en memoria. En caso de que se inserte una alta cantidad de registros a la variable, se almacenará en tempdb. En cambio una tabla temporal siempre se guarda en tempdb.
Además, cuando se crea una variable tabla, es como si se efectuara cualquier otra operación DDL, por lo tanto la información de la metada se guarda en las tablas de catalogo.
Veamos este código:

DECLARE @TablaTemporal TABLE (ID int)
SELECT * FROM tempdb.sys.tables

Ver la entrada original 638 palabras más

Anuncios

2 comentarios el “Tablas temporales versus Variables de Tabla

  1. Buen día, felicidades por tu excelente blog, me gustaría solicitar información (si te queda un espacio) de como realizar el backup de una tabla en sqlserver 2008

    • No existe la funcionalidad de hacer un .bak para una sola tabla asi como lo haces de una DB completa,
      se pueden hacer respaldos de datafiles, y del log,,

      pero dependiendo de que quieras puedes utilizar las siguientes alternativas:

      si quieres solo los datos de una tabla en otra

      puedes hacer esto:

      select * into [tablarespaldo] from dbo.[tablaarespaldar]
      — Esto te creara inmediatamente una tabla llamada tablarespaldo y la llenara con una copia de todos los datos
      — de la tabña que quieres respaldar

      Si lo que quieres es respaldar estructura y datos, (es decir una copia identica con indices y constraints)

      La forma que considero mas sencilla es crear el script de la estructura mediante click boton secundario en la tabla
      script table as: create to: new query windows, esto te generara en una nueva ventana el script para crear la tabla en
      otra base,,,

      teniendo el script lo puedes guardar como un archivo .sql para posteriormente ejecutarlo en una base diferente.
      una vez ejecutado tendras la estructura solo te faltaran los datos.

      los datos los puedes traer mediante el wizard o mediante tsql,

      tendrias que hacer un insert asi:

      INSERT INTO TABLERESPALDADA
      SELECT * FROM [BASEDEDATOS].[DBO].[TABLARESPALDO]

      –ESTO CONSIDERANDO QUE LAS BASES VIVAN EN LA MISMA INSTANCIA SI VIVEN EN DIFERENTES TENDRIAS QUE CREAR
      –EL LINKED SERVER CORRESPONDIENTE Y AGREGAR EN EL SELECT EL NOMBRE DEL LINKED [LINKED].[BASEDEDATOS].[DBO].[TABLARESPALDO]

      Por otro lado tienes la opcion de hacerlo mediaente el wizard, te vas a inicio, programas, te ubicas en la carpeta de sql server
      y buscas la herramienta de importar y exportar,, esta tu ayudara a hacer inifinidad de movimientos mediante un sencillo wizard que te va
      llevando paso a paso es muy intuitivo solo metete y empiezale a mover,

      Saludos

Si te sirvio o te gusto el post, deja un comentario, o vota por el blog, esto nos ayuda a seguir creciendo, Gracias

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: