Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wyłącz wszystkie indeksy nieklastrowane

Zapytania można wbudować w instrukcję SELECT, na przykład:

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);

Znaki 13 i 10 to znaki wysuwu wiersza/powrotu karetki, więc możesz sprawdzić dane wyjściowe, zastępując EXEC z PRINT i będzie bardziej czytelny.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak połączyć wiele wierszy?

  2. Budowanie dynamicznej klauzuli WHERE w procedurze składowanej

  3. Jak wykonać procedurę składowaną w zapytaniu wybierającym

  4. Czy mogę uzyskać nazwy wszystkich tabel bazy danych SQL Server w aplikacji C#?

  5. Sprawdź, czy ciąg zawiera znaki akcentowane w SQL?