sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server Rebuild Index Query

Hej

Alla index i SQL Server-databasen kommer att fragmenteras Efter att relaterade tabeller har fått många uppdateringar, radera transaktioner.

Om indexet i tabellen är fragmenterat kommer alla transaktioner relaterade till den tabellen att vara mycket långsamma. Så SQL Server DBA bör ofta övervaka index och vilka index som är fragmenterade och vilka som inte är som följande skärmdump.

Du kan kontrollera fragmenterat index med följande skript. Skriv SQL Server Database-namnet är korrekt på första raden, så kommer frågan att hitta fragmenterade index.

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. Kompilera PL/Proxy med PostgresPlus Advance Server 9.1

  2. Logcat säger ogiltig kolumndata1

  3. hur man hämtar en bild från drawable enligt deras namn i SQLite-databasen och sedan visar den i listvy

  4. Söka Microsoft Access-data med Elasticsearch