Hola hay mas de un factor a analizar, las variables tipo tabla usan ram,
como esta de ram el servidor en ese momento?

 

 

Saludos

 

Maximiliano Damian Accotto

Microsoft MVP en SQLServer

SQL Total Consulting - Servicios profesionales en SQL Server

Buenos Aires-Argentina

Movil: (011)-15-5868-5599

Desde el exterior: (+54-911)-5868-5599

 <mailto:[email protected]>
[email protected]

im: [email protected]

 

 

De: [email protected] [mailto:[email protected]] En nombre de Esteban Grinberg
Enviado el: viernes, 27 de febrero de 2009 03:08 p.m.
Para: Maxi
Asunto: [dbms] Tablas Variables vs Tablas Temporales

 

Yo siempre pense que como metodo de almacenamiento temporal y para volumenes
no muy grandes, una variable de tabla era mas eficiente que una tabla
temporal.
Pero hoy surgio un caso curioso, donde teniamos una query que usaba
variables de tablas y tardaba 5 segundos. Exactamente la misma query, pero
reemplazando la variable de tabla por una tabla temporal, redujo el tiempo a
menos de 500 milisegundos!!. Hay que aclarar que es una query recursiva que
usa CTE (es un 2005), por lo que me surje la duda si hay algun tipo de
comportamiento extraño en el motor de SQL Server con la combinacion de CTEs
y variables de tabla...
Lo raro del asunto, es que el volumen de datos es infimo, apenas 2000
registros, pero analizando el plan de ejecucion entre una query con tabla
temporal y la otra, con variable de tabla, es radicalemente distinto.

Alguien tiene idea de porque?

No virus found in this incoming message.
Checked by AVG - www.avg.com
Version: 8.0.237 / Virus Database: 270.11.3/1975 - Release Date: 02/27/09
07:05:00

Responder a