Tablas temporales o virtuales...

28/02/2006 - 21:20 por Kno | Informe spam
¿Es cierto que el uso de tablas virtuales, es decir, aquellas definidas con
#tabla, pueden afectar la performance del servidor de base de datos?, esto
porque tengo una aplicación que utiliza un procedimiento almacenado que ocupa
este tipo de tablas (3 especificamente), y el nivel de consulta es alto
(alrededor de 10000 consultas al día).

Atte.
KNO

Preguntas similare

Leer las respuestas

#6 Maxi [Mvp]
01/03/2006 - 01:31 | Informe spam
Hola, simple, las variables tipo table usan RAM ;-)


Saludos

-
Buenos Aires - Argentina
[Microsoft MVP SQL SERVER]
www.sqlgurus.org
"Developers" wrote in message
news:
ya que tocaron este tema Yo tambien estuve probando las Tablas Temporales
y las Variables Tipo Table y me doy con la sorpresa que cuando son mas
1,000 registros las variables tipo tables son mas lentras que las tablas
temporales. alguien sabe del porque sucede esto??

Nota.
Servidor Win2003 Server
Memoria 1gb
Disco duro 80Gb scsi
Sql2000 Std


Gustavo Larriera [MVP] escribió:
Las tablas temporales de todas las bases de datos se crean siempre en la
base de datos de sistema TempDb. Por tanto e sun potencial cuello de
botella para tu servidor SQL. Debe evitarse al mínimo el uso de tablas
temporales, intenta sustituirlas por variables de tipo TABLE.

Respuesta Responder a este mensaje
#7 Alejandro Mesa
01/03/2006 - 20:42 | Informe spam
Developers,

Muy buen punto. SQL Server no crea estadisticas de distribucion para
variables tipo tablas, asi que para cantidades grandes de filas el plan de
ejecucion sera siempre el mismo que para pequenias cantidades. Aqui te paso
un articulo muy interesante sobre variables tipo tabla.

INF: Frequently Asked Questions - SQL Server 2000 - Table Variables
http://support.microsoft.com/defaul...-us;305977


AMB

"Developers" wrote:

ya que tocaron este tema Yo tambien estuve probando las Tablas Temporales y las Variables
Tipo Table y me doy con la sorpresa que cuando son mas 1,000 registros las variables tipo
tables son mas lentras que las tablas temporales. alguien sabe del porque sucede esto??

Nota.
Servidor Win2003 Server
Memoria 1gb
Disco duro 80Gb scsi
Sql2000 Std


Gustavo Larriera [MVP] escribió:
> Las tablas temporales de todas las bases de datos se crean siempre en la
> base de datos de sistema TempDb. Por tanto e sun potencial cuello de botella
> para tu servidor SQL. Debe evitarse al mínimo el uso de tablas temporales,
> intenta sustituirlas por variables de tipo TABLE.
>

Respuesta Responder a este mensaje
#8 Alejandro Mesa
01/03/2006 - 20:44 | Informe spam
Maxi,

Hola, simple, las variables tipo table usan RAM ;-)



Entonces deberian ser mas rapidas puesto que sql server no necesita leer
desde disco y poner las paginas en memoria. En realidad son otras las causas
de este comportamiento. El articulo que adjunte en la respuesta a
"developers" esta muy interesante, te lo recomiendo.

Saludos,

Alejandro Mesa

"Maxi [Mvp]" wrote:

Hola, simple, las variables tipo table usan RAM ;-)


Saludos

-
Buenos Aires - Argentina
[Microsoft MVP SQL SERVER]
www.sqlgurus.org
"Developers" wrote in message
news:
> ya que tocaron este tema Yo tambien estuve probando las Tablas Temporales
> y las Variables Tipo Table y me doy con la sorpresa que cuando son mas
> 1,000 registros las variables tipo tables son mas lentras que las tablas
> temporales. alguien sabe del porque sucede esto??
>
> Nota.
> Servidor Win2003 Server
> Memoria 1gb
> Disco duro 80Gb scsi
> Sql2000 Std
>
>
> Gustavo Larriera [MVP] escribió:
>> Las tablas temporales de todas las bases de datos se crean siempre en la
>> base de datos de sistema TempDb. Por tanto e sun potencial cuello de
>> botella para tu servidor SQL. Debe evitarse al mínimo el uso de tablas
>> temporales, intenta sustituirlas por variables de tipo TABLE.
>>



Respuesta Responder a este mensaje
#9 Maxi [Mvp]
02/03/2006 - 01:05 | Informe spam
Hola, en parte tienes razon en parte no, al quitar RAM se esta sacando un
recurso mucho mas pequeño y utilizado que IO. La recomendacion es utilizar
variables tipo table mientras sean pequeñas no si son grandes.


Saludos

-
Buenos Aires - Argentina
[Microsoft MVP SQL SERVER]
www.sqlgurus.org
"Alejandro Mesa" wrote in message
news:
Maxi,

Hola, simple, las variables tipo table usan RAM ;-)



Entonces deberian ser mas rapidas puesto que sql server no necesita leer
desde disco y poner las paginas en memoria. En realidad son otras las
causas
de este comportamiento. El articulo que adjunte en la respuesta a
"developers" esta muy interesante, te lo recomiendo.

Saludos,

Alejandro Mesa

"Maxi [Mvp]" wrote:

Hola, simple, las variables tipo table usan RAM ;-)


Saludos

-
Buenos Aires - Argentina
[Microsoft MVP SQL SERVER]
www.sqlgurus.org
"Developers" wrote in message
news:
> ya que tocaron este tema Yo tambien estuve probando las Tablas
> Temporales
> y las Variables Tipo Table y me doy con la sorpresa que cuando son mas
> 1,000 registros las variables tipo tables son mas lentras que las
> tablas
> temporales. alguien sabe del porque sucede esto??
>
> Nota.
> Servidor Win2003 Server
> Memoria 1gb
> Disco duro 80Gb scsi
> Sql2000 Std
>
>
> Gustavo Larriera [MVP] escribió:
>> Las tablas temporales de todas las bases de datos se crean siempre en
>> la
>> base de datos de sistema TempDb. Por tanto e sun potencial cuello de
>> botella para tu servidor SQL. Debe evitarse al mínimo el uso de tablas
>> temporales, intenta sustituirlas por variables de tipo TABLE.
>>



Respuesta Responder a este mensaje
#10 Developers
03/03/2006 - 20:43 | Informe spam
Muchas Gracias Alenjandro el enlace esta estupendo



Alejandro Mesa escribió:
Developers,

Muy buen punto. SQL Server no crea estadisticas de distribucion para
variables tipo tablas, asi que para cantidades grandes de filas el plan de
ejecucion sera siempre el mismo que para pequenias cantidades. Aqui te paso
un articulo muy interesante sobre variables tipo tabla.

INF: Frequently Asked Questions - SQL Server 2000 - Table Variables
http://support.microsoft.com/defaul...-us;305977


AMB

"Developers" wrote:


ya que tocaron este tema Yo tambien estuve probando las Tablas Temporales y las Variables
Tipo Table y me doy con la sorpresa que cuando son mas 1,000 registros las variables tipo
tables son mas lentras que las tablas temporales. alguien sabe del porque sucede esto??

Nota.
Servidor Win2003 Server
Memoria 1gb
Disco duro 80Gb scsi
Sql2000 Std


Gustavo Larriera [MVP] escribió:

Las tablas temporales de todas las bases de datos se crean siempre en la
base de datos de sistema TempDb. Por tanto e sun potencial cuello de botella
para tu servidor SQL. Debe evitarse al mínimo el uso de tablas temporales,
intenta sustituirlas por variables de tipo TABLE.




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida