Indice de tabla temporal

25/06/2008 - 18:56 por Penta | Informe spam
Estimados.
Utilizo SS2000 SP4
Si creo una tabla temporal

Select *
Into #Temp
From Fabla

Y luego creo un indice, debo crear el indice temporal ?

CREATE INDEX #temp_1
ON Temp (codcli)
GO

o

CREATE INDEX temp_1
ON Temp (codcli)
GO

En cualquier caso al revisar el plan veo que la consulta pasa por el
indice, la consulta es si al eliminar la temporal, automaticamente se
borrar ambos indices ?? hice las pruebas luego de hacer un drop a
#temp
y luego un drop a cada indice y veo que no existen, por lo tanto, da
lo mismo crear el indice como temporal o no ??

Atte.
Penta.

Preguntas similare

Leer las respuestas

#1 Penta
25/06/2008 - 18:59 | Informe spam
Otra cosa que pude apreciar es que al hacer un inner con otra tabla,
el plan de ejecucion NO usa el indice de la temporal.

Atte.
Penta.
Respuesta Responder a este mensaje
#2 Pablo Roca
25/06/2008 - 19:13 | Informe spam
Hola Penta,

No uses cursores, bueno eso ya lo sabrás :)

Yo si que lo crearía, de esta manera claro:

CREATE INDEX temp_1 ON #Temp(codcli)

si al eliminar la temporal, automaticamente se
borrar ambos indices ??



Si, claro.


Saludos,

Pablo Roca
La Coruna - Spain
http://www.portalfox.com
Respuesta Responder a este mensaje
#3 Penta
25/06/2008 - 19:48 | Informe spam
Hola Pablo Roca.
Gracias por la aclaracion pude comprobarlo luego de hacer el drop a la
tabla que los indices ya no existian.

Lo raro es que hice una temp de una tabla de unos 8000 registros cree
el indice y luego la cruce con otra tabla fisica (con indice) y al
revisar el plan de ejecucion pude ver que no usaba el indice de la
temporal, cosa rara pues:

create table tabla3
(
codcli int primary key
)

insert into tabla3 values (1)

select *
Into #temp1
from tabla3

select * from #temp1

CREATE INDEX temp_1 ON #temp1(codcli)


select * from #temp1 t1 inner join tabla3 t2
on t1.codcli=t2.codcli
drop table tabla3

Veo que usa el indice, pero en als pruebas anteriores no lo usó,
debere ir chequeando lo mas probable es que me pase algo por alto.

Atte.
Penta.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida