venerdì 8 febbraio 2008

Reindicizzare un intero database su SQL server

Chi lavora su applicazioni che lavorano su database SQL Server di dimensioni considerevoli individua abbastanza presto che uno dei fattori critici dell'applicazione è il tempo "speso" ad accedere al database e che il tempo di risposta delle singole query può cambiare in maniera sostanziale se gli indici vengono creati accuratamente.

Dopo la creazione del DB e degli indici, questi tendono a deteriorarsi con il tempo, perdendo prestazioni durante l'accesso.

Un modo pratico per ripristinare le prestazioni degli indici è lanciare su ogni database, magari schedulandolo come attività notturna, uno script simile a questo:


use Database;
GO
exec sp_msforeachtable 'dbcc dbreindex ("?") with no_infomsgs';
GO

Nessun commento: