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

SQL Server Rebuild Index Query

Hej

Alle indekser i SQL Server-databasen vil blive fragmenteret Efter at relaterede tabeller har fået mange opdateringer, skal du slette transaktioner.

Hvis indekset i tabellen er fragmenteret, vil alle transaktioner relateret til den tabel være meget langsomme. Så SQL Server DBA bør ofte overvåge indekser, og hvilke af indekser der er fragmenterede, og hvilke der ikke er som følgende skærmbillede.

Du kan kontrollere fragmenteret indeks med følgende script. Skriv SQL Server Databasenavnet er korrekt i den første linje, så vil forespørgslen finde fragmenterede indekser.

declare @db int
select @db=DB_ID('DEVECI')
select 'ALTER INDEX [' + i.name +'] on '+OBJECT_NAME(s.object_id)+' REBUILD WITH (ONLINE = ON)',
objname = OBJECT_NAME(s.object_id),
s.object_id,
index_name= i.name,
index_type_desc, 
avg_fragmentation_in_percent
from sys.dm_db_index_physical_stats(@db,null,null,null,null) as s
join sys.indexes i on i.object_id = s.object_id and i.index_id = s.index_id 
where avg_fragmentation_in_percent>30
order by avg_fragmentation_in_percent desc, page_count desc;



  1. Introduktion til Oracle Mobile Cloud Service

  2. Brug af JShell i Java 9 i NetBeans 9.0, del 4

  3. COT() Eksempler i SQL Server

  4. SQLiteException:tabel eksisterer allerede