Tengo un script que necesita extraer datos temporalmente para realizar operaciones adicionales en él, pero luego no necesita almacenarlo más después de que se haya ejecutado el script. Actualmente tengo los datos en cuestión en una serie de tablas locales temporales (CREATE TABLE #table), que luego se eliminan a medida que se completa su uso. Estaba considerando cambiar a tablas físicas, tratadas de la misma manera (tabla CREATE TABLE), si hubiera una mejora en la velocidad de la secuencia de comandos (u otras ventajas, ¿tal vez?).¿Cuál es la velocidad comparativa de las tablas temporales con las tablas físicas en SQL?
... Entonces, ¿hay una diferencia en el rendimiento, entre tablas temporales y tablas físicas? Según lo que estoy leyendo, las tablas temporales son solo tablas físicas que solo la sesión que ejecuta el script puede ver (reduciendo los problemas de bloqueo).
EDITAR: Debo señalar que estoy hablando de tablas físicas vs. tablas temporales. Hay mucha información disponible sobre tablas temporales vs. variables de tabla, p. Ej. http://sqlnerd.blogspot.com/2005/09/temp-tables-vs-table-variables.html.
-1 Las tablas de #temp probablemente serán mejores en este escenario. [Vea esta respuesta para obtener una explicación] (http://stackoverflow.com/questions/3175427/sql-server-temporary-vs-physical-tables/3175531#3175531). Además 'tempdb' tiene optimizaciones de registro en comparación con las bases de datos regulares. Las variables de tabla se almacenan exactamente igual que las tablas temporales, por lo que la sugerencia no tiene sentido. Ese artículo al que se vincula es completamente incorrecto sobre el registro de transacciones para variables de tabla también. –