¿Se crean variables de tabla en la memoria o en tempdb? Lo mismo para tablas de temperatura corta?variables de tabla creadas y almacenadas en la memoria o en tempdb?
Respuesta
Una tabla temporal se creará en tempdb y se puede comprobar fácilmente por él mediante la consulta de la tabla sysobjects en tempdb
ejemplo
create table #test (Item char(1), TimeSold varchar(20))
select * from tempdb.sys.sysobjects
where name like '#test%'
debería ver algo con un nombre como #test _______ 000000000905 pero luego con más de subrayado
Si es necesario comprobar si existe una tabla temporal y luego consulta How Do You Check If A Temporary Table Exists In SQL Server
La estructura de la variable Table también se crea en tempdb. Para ver la variable de la tabla, puede hacer algo como esto, pero no hay garantía de que alguien no haya colado antes de crear su variable de tabla. El nombre de la variable tabla será algo así como # 7BB1235D
declare @v table(id int)
select top 1 * from tempdb.sys.sysobjects
where name like '#%'
and name not like '%[_]%'
order by crdate desc
select * from @v
Para más información ver aquí: http://support.microsoft.com/kb/305977
editado mi respuesta, tx – SQLMenace
Ha sido mi entendimiento de que, como mínimo, la estructura de una variable de tabla se crea siempre en tempdb. Entonces, como pointed out by SQLMenace, los datos pueden o no extenderse.
por this Microsoft Knowledge Base Article:
una variable de tabla no es una memoria de sólo estructura. Debido a que una variable de tabla puede contener más datos de los que caben en la memoria , tiene que tener un lugar en el disco para almacenar datos. Las variables de tabla son creadas en la base de datos tempdb similar a tablas temporales. Si la memoria es disponible, se crean variables de tabla y tablas temporales y se procesa mientras está en memoria (datos caché).
Los datos siempre se guardan en las páginas de datos que pertenecen a 'tempdb'. Pueden escribirse o no en el disco y, si se escriben en un disco, las páginas pueden estar o no en el grupo de búferes. [Algunas demostraciones relevantes al final de mi respuesta aquí] (http://dba.stackexchange.com/a/16386/3690) –
En MS SQL 2014 se introdujo un tipo especial de variables de tabla "Memory-Optimized Table Variables". Y no usan tempdb.
- 1. Cuando se declara una variable en un procedimiento almacenado de T-SQL, ¿se guarda en la memoria o tempdb?
- 2. SQL Server 2005 Memoria Presión y tempdb escribe problema
- 3. MySQL Variables de procedimiento almacenadas de las instrucciones SELECT
- 4. variables volátiles y barrera de memoria en java
- 5. Cómo propagar tempdb en varios archivos?
- 6. Tabla en memoria en PostgreSQL
- 7. C# dirección de memoria y las variables
- 8. PHP uso de referencia de variables y la memoria
- 9. ¿Las rebanadas de la tabla toman la memoria en R?
- 10. ¿Cómo se almacenan las variables de bytes en la memoria?
- 11. Variables de tabla en Oracle PL/SQL?
- 12. Memoria estática en python: ¿los bucles crean nuevas instancias de variables en la memoria?
- 13. Nombre de la tabla de variables en sqlite
- 14. En Redis, ¿hay todas las claves almacenadas en la misma "tabla"? y si es así, ¿cómo afecta el rendimiento?
- 15. ¿Cuándo se eliminan las variables de la memoria en C++?
- 16. Evite que las cadenas almacenadas en la memoria sean leídas por otros programas
- 17. ¿Cómo copiar la estructura de la tabla MySQL a la tabla en la memoria?
- 18. pitón + SQLite, insertar datos de las variables en la tabla
- 19. Escalado de imágenes almacenadas en S3
- 20. web.config o app.config en la memoria caché
- 21. Sustitución de variables con recuperación Solicitudes almacenadas en un CoreData Modelo
- 22. R - obtener todas las variables creadas desde la llamada de función
- 23. Ofuscación de contraseñas almacenadas en bash
- 24. Implementaciones de InputStream en segundo plano almacenadas
- 25. ¿Cómo se asignan las variables de memoria en Javascript?
- 26. ¿Cómo ocultar las carpetas creadas en Document Directory en ios?
- 27. regresar dos matrices creadas en C++
- 28. Oracle SQL: variables utilizadas en lugar de nombres de tabla
- 29. Determinar el tamaño de la tabla de páginas para la memoria virtual
- 30. cookies creadas mediante programación en Internet Explorer
http://dba.stackexchange.com/questions/16385/whats-the-difference-between-a-temp-table-and-table-variable-in-sql-server –