declare @DisableQuery varchar(max) = ''
select @DisableQuery = COALESCE(@DisableQuery +'','')
+ 'alter index ' +i.name+ ' on ' +o.name+ ' disable '+ CHAR(13)+Char(10)+'; '
From sys.indexes i
Inner Join sys.objects o On o.object_id = i.object_id
Where o.is_ms_shipped = 0
and i.index_id >= 1 and i.is_primary_key = 0
and o.name = 'NombreDeMiTabla'
select @DisableQuery
exec(@DisableQuery)
posterior a esto podemos realizar la elminacion de miles de filas de nuestra tabla de mas de 1 millon de registros, luego la dejamos intacta como anteriormente estaba, habilitamos los indices.
declare @EnableQuery varchar(max) = ''
select @EnableQuery = COALESCE(@EnableQuery +'','')
+ 'alter index ' +i.name+ ' on ' +o.name+ ' rebuild '+ CHAR(13)+Char(10)+'; '
From sys.indexes i
Inner Join sys.objects o On o.object_id = i.object_id
Where o.is_ms_shipped = 0
and i.index_id >= 1 and i.is_primary_key = 0
and o.name = 'NombreDeMiTabla'
select @EnableQuery
exec(@EnableQuery)
No hay comentarios:
Publicar un comentario