Angel, para nada. Ambas siempre ocuparán espacio físico. Puedes ver este script para obtener el reporte de tablas en tempdb datoptim.com/reporte-tablas-tempdb/ y también ver todo algunos detalles adicionales de tempdb aquí ruclips.net/video/Bq4JjIUS_Bc/видео.html
La tabla temporal es más eficiente. La variable tabla no lo es ya que no usa las estadísticas apropiadamente. SQL Server siempre necesita usar estadísticas para responder de la mejor manera
@@DATOPTIM creo que una ventaja que puedo opinar de las variables tablas es que si falla en ejecución ellas se borran implícitamente, sin embargo las tablas temporales cuando fallan a mitad de ejecución tienden a quedarse en tempdb y manualmente hay que ejecutar el comando drop a esa tabla.
@@jasonherrera7605 Una pequeña puntialización adicional. Las variables tablas no son persistentes en las bases de datos. Por otro lado, las tablas temporales se quedarán en tempdb mientras las sesiones se mantengan abiertas, cerrada la sesión, el drop no es necesario. Un poco más de detalles con las variables tablas en este enlace datoptim.com/problemas-table/
Gracias Pablo
Un placer!
@DATOPTIM Cruzando el Mito 1 Y Mito 2. La tabla temporal esta en la tempdb ¿La variable tabla solo esta memoria?
Angel, para nada. Ambas siempre ocuparán espacio físico. Puedes ver este script para obtener el reporte de tablas en tempdb datoptim.com/reporte-tablas-tempdb/ y también ver todo algunos detalles adicionales de tempdb aquí ruclips.net/video/Bq4JjIUS_Bc/видео.html
Entonces es mejor la variable tabla?
Es mejor entender los conceptos y hacer las pruebas como las que se ven en el video para comprender la diferencia 😉
Entonces al final la variable temporal es rápida porque no calcula estadística?
La tabla temporal es más eficiente. La variable tabla no lo es ya que no usa las estadísticas apropiadamente. SQL Server siempre necesita usar estadísticas para responder de la mejor manera
@@DATOPTIM creo que una ventaja que puedo opinar de las variables tablas es que si falla en ejecución ellas se borran implícitamente, sin embargo las tablas temporales cuando fallan a mitad de ejecución tienden a quedarse en tempdb y manualmente hay que ejecutar el comando drop a esa tabla.
@@jasonherrera7605 Una pequeña puntialización adicional. Las variables tablas no son persistentes en las bases de datos. Por otro lado, las tablas temporales se quedarán en tempdb mientras las sesiones se mantengan abiertas, cerrada la sesión, el drop no es necesario. Un poco más de detalles con las variables tablas en este enlace datoptim.com/problemas-table/
Muchas gracias por tu aclaración, creo que tengo confundidos los conceptos.
@@jasonherrera7605 los conceptos se van aclarando con la práctica nada más. Adelante!
👏🏼