INDEX ALL REBUILD vs DBCC DBREINDEX

0

Witam.

Chce napisać sobie skrypt do automatycznej odbudowy indeksów w bazie programu magazynowo-księgowego.
W programie jest możliwość uruchomienia takiej odbudowy i z tego co podejrzałem w profilerze funkcja ta wykonuje INDEX ALL [tabela] REBUILD na wszystkich tabelach po kolei.
Z tego co czytałem w sieci korzystniejsze jest użycie DBCC DBREINDEX.
Znalazłem też skrypt

USE DatabaseName --Enter the name of the database you want to reindex
 
DECLARE @TableName varchar(255)
 
DECLARE TableCursor CURSOR FOR
         
          SELECT         table_name
          FROM  information_schema.tables
          WHERE          table_type = 'base table'
 
OPEN TableCursor
 
FETCH NEXT FROM TableCursor INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN 
         
          DBCC DBREINDEX(@TableName,' ',90)
         
          FETCH NEXT FROM TableCursor INTO @TableName
END 
 
CLOSE TableCursor
 
DEALLOCATE TableCursor

No i tutaj pytanie do Was:
Czy może istnieć jakaś przyczyna że producent programu użył INDEX ALL [tabela] REBUILD zamiast teoretycznie lepszego DBCC DBREINDEX ?

Z góry dziękuję za pomoc.

0

a czemu nie tak?

sp_msforeachtable 'ALTER INDEX ALL ON ? REBUILD WITH (FILLFACTOR = 80)' 

alter index ma wiecej mozliwosci. Z tego co kojarze operacja dbcc reindex zostala od sql 2005 oznaczona jako deprecated

0

Z tego co czytałem w sieci korzystniejsze jest użycie DBCC DBREINDEX.

to napisaem na potstawie tego artykułu:
http://jamessql.blogspot.com/2012/06/rebuild-index-with-alter-index-rebuild.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1