sql >> Database teknologi >  >> RDS >> Sqlserver

Deaktiver alle ikke-klyngede indekser

Du kan bygge forespørgslerne ind i en select-sætning, som sådan:

DECLARE @sql AS VARCHAR(MAX)='';

SELECT @sql = @sql + 
'ALTER INDEX ' + sys.indexes.name + ' ON  ' + sys.objects.name + ' DISABLE;' +CHAR(13)+CHAR(10)
FROM 
    sys.indexes
JOIN 
    sys.objects 
    ON sys.indexes.object_id = sys.objects.object_id
WHERE sys.indexes.type_desc = 'NONCLUSTERED'
  AND sys.objects.type_desc = 'USER_TABLE';

EXEC(@sql);

Tegn 13 og 10 er linjeskift/vognretur, så du kan kontrollere outputtet ved at erstatte EXEC med PRINT , og det vil være mere læseligt.



  1. SQL Azure:Database XXXYYY på serveren er ikke tilgængelig i øjeblikket

  2. Hvordan får man antallet af rækker påvirket, mens man udfører MySQL-forespørgsel fra bash?

  3. Afstand i meter mellem to Spacial Points i MySQL-forespørgsel

  4. SQL-sætning ignorerer parameteren where