160 likes | 356 Views
Módulo 8. Características de indexado. TEMARIO. Características Fragmentación en SQL Server 2005 Indexado Online Reorganize. Características. Operaciones en paralelo MAXDOP query hint Formas para determinar la fragmentación sys.dm_db_index_physical_stats
E N D
Módulo 8 Características de indexado
TEMARIO • Características • Fragmentación en SQL Server 2005 • Indexado Online • Reorganize
Características • Operaciones en paralelo • MAXDOP query hint • Formas para determinar la fragmentación • sys.dm_db_index_physical_stats • ONLINE indexing, permite el acceso a la tabla base así como al índice original hasta que la operación es finalizada • Creating • Rebuilding • Dropping • Índices deshabilitados
Corrección de fragmentación en SQL Server 2005 • 6 opciones • Dar de baja y recrear el índice manualmente • Reconstruir el índice - DBCC DBREINDEX • Defrag. el índice - DBCC INDEXDEFRAG • Defrag. el índice - ALTER INDEX .. REORGANIZE • Reconstruir el índice - ALTER INDEX .. REBUILD • Reconstruir el índice - ALTER INDEX .. REBUILD WITH(ONLINE=ON)
Tratando con la fragmentación en SQL Server 2005 • ALTER INDEX … REORGANIZE • Reemplaza DBCC INDEXDEFRAG • ALTER INDEX … REBUILD • Reemplaza DBCC DBREINDEX
Indexado Online • SQL Server 2000 • Operaciones de indexado previenen modificaciones a datos fundamentales o índices • Excepción : reorganizar Online • SQL Server 2005 • Operaciones de indexado Online permiten la modificación concurrente de la tabla o índice fundamentales • Updates • Inserts • Deletes • Mantenimiento de índice Online • Create • Rebuild • Reorganize • Drop
¿Cómo trabaja el indexado online? • Cuando la operación de índice online esta lista para completarse, la siguiente secuencia de eventos toma lugar: • Borra el índice/heap viejo • Cambia el nuevo índice/heap para ser lectura/escritura • Da de baja el SCH_M lock y permite volver atrás planes
Indexado Online • ¿Cómo conocer el progreso online del índice? • Profiler tiene una clase evento “Progress Report” • Y un evento “Online Index Operation” • Mirar dentro del Profiler por este evento mientras ALTER INDEX esta reconstruyendo
Otra técnica de Defragmentación • Pros de 2000’s DBCC INDEXDEFRAG • Online • Interrumpible sin perdida de trabajo – se detiene instantáneamente • Tiene reporte de progreso • Usualmente rápido para un índice fragmentado ligeramente • Contras de 2000’s DBCC INDEXDEFRAG • Usualmente rápido para un índice fragmentado fuertemente • Solo CPU simple • No actualiza estadísticas automáticamente
ALTER INDEX … REORGANIZE • Toda la funcionalidad de DBCC INDEXDEFRAG • Siempre una operación online disponible – los datos están siempre disponibles • Interrumplible sin perdida de trabajo – se detiene instantáneamente • Puede reorganizar una o todas las particiones • DBCC INDEXDEFRAG no puede hacer índices particionados
SQL 2005 Reorganize Indice a nivel de hoja luego de inserts/deletesaleatorios Orden de alocación ( Flecha roja ) Orden lógico ( Flecha negra ) Nuevo algoritmo ‘sliding window’
REORGANIZE • Mas flexible que REBUILD ONLINE • Normalmente es posible hacer solo una operación ONLINE al mismo tiempo sobre una tabla. • Excepto cuando: • Se reorganizan índices diferentes sobre la misma tabla. • Se reorganizan índices diferentes mientras se reconstruyen índices non-overlapping sobre la misma tabla.
Índices deshabilitados • Beneficios de deshabilitar un índice • Al efectuar algunas tareas de administración donde se acostumbraba a dar de baja y después recrear • Ahora se puede deshabilitar, cargar y reconstruir • Hace la sintaxis y automatización de scripts mas sencilla de escribir • Interrumpir uso y mantenimiento de los índices • Libera espacio de almacenamiento, pero retiene metadata del índice necesario para ser reconstruido antes que este pueda ser usado nuevamente
Índices con columnas incluidas • Columnas que no son clave pueden ser definidas sobre índices nonclustered (unique or nonunique) sobre tablas o vistas indexadas • Todos los tipos de datos están permitidos excepto text, ntext, y image • Columnas del índice son parte del criterio de búsqueda • WHERE o ORDER BY • Columnas no clave forman el resto del set de resultados • SELECT