A base de datos informática que ve frecuentemente añade , borra y actualiza , con el tiempo , sufren la fragmentación del índice , lo que frena la base de datos hacia abajo. Software de base de datos de Microsoft SQL Server tiene dos comandos de lenguaje estructurado de consultas ( SQL) que se ocupan de esta cuestión : DBCC INDEXDEFRAG y DBCC DBREINDEX . A pesar de que tanto resolver el problema , las diferencias entre los dos dictar la forma en que se utilicen. Acción
El comando DBREINDEX vuelve a generar los índices de tabla a partir de cero , mientras que INDEXDEFRAG mantiene los índices , pero reorganiza su contenido. Usted puede realizar el equivalente de DBREINDEX emitiendo un DROP INDEX y CREATE INDEX para cada índice que desea reconstruir ; DBREINDEX es más rápido y menos propenso a errores . Pactos INDEXDEFRAG el índice en función de su factor de relleno , sino que elimina las páginas vacías creadas durante la operación de desfragmentación
velocidad
La velocidad relativa de los dos comandos depende del grado . de la fragmentación de los índices de una tabla . INDEXDEFRAG funciona más rápido si los índices tienen una cantidad relativamente baja de la fragmentación : se necesita menos tiempo para analizar y reorganizar unas cuantas páginas de un índice de reconstruir con DBREINDEX . Sin embargo, si has dejado una cantidad significativa de pase ya que a indizar la base de datos , INDEXDEFRAG tomará más tiempo que DBREINDEX .
Exclusivo contra el acceso compartido
DBCC DBREINDEX requiere acceso exclusivo a la tabla , cerrando efectivamente todos los usuarios y procesos a cabo mientras se trabaja . Los índices de las tablas están incompletos hasta que finalice el comando , por lo que las solicitudes de usuario para datos fallarían si intentaban acceder a la tabla . Por otro lado , INDEXDEFRAG simplemente reorganiza el índice existente , por lo que permite a los usuarios acceder a la tabla .
Opciones
Ambos comandos tienen una opción NOINFOMSGS , apagando cualquier mensajes que de otro modo surgir durante la ejecución. DBREINDEX le permite reconstruir uno o todos los índices de una tabla en un solo comando. INDEXDEFRAG funciona sólo en un índice a la vez , por lo que las tablas con índices múltiples requieren varios comandos . El DBREINDEX permite cambiar factor de relleno de un índice, lo que le permite construir más o menos espacio libre en el índice. Índices con más espacio ocupan más espacio en disco, pero van un poco más rápido si los programas con frecuencia añaden registros a la tabla .