Ir al contenido principal

Destacados

CSS3

Que es?   Ante todo, recordemos que es eso del CSS3 u hojas de estilo: se trata de una manera de describir la forma en la que se ve la página web, sin tener en cuenta el contenido. Es decir: yo creo el contenido de la página web y con la hoja de estilo describo la forma en la que se verá. ¿Para qué sirve CSS3? CSS sirve para definir la estética de un sitio web en un documento externo y eso mismo permite que modificando ese documento (la hoja CSS) podamos cambiar la estética entera de un sitio web… ese es precisamente el poder de CSS, en otras palabras, el mismo sitio web puede variar totalmente de estética cambiando solo la CSS, sin tocar para nada los documentos HTML o jsp o asp que lo componen, ya con CSS3 se suman muchas nuevos efectos que harán de la que la parte visual de nuestra página sea mucho más agradable y llamativa, como sombras, transformaciones de figuras, creación sencilla de bordes y efectos 3D. ¿Como trabaja CSS3? Cuando un navega...

4.4.2 Reorganización de Índices.


Un factor clave para conseguir una E/S de disco mínima para todas las consultas de bases de datos es asegurarse de que se creen y se mantengan buenos índices. Una vez creados los índices, se debe procurar mantenerlos para asegurarse que sigan trabajando en forma óptima. A medida que se agregan, modifican o borran datos se produce fragmentación. Esta fragmentación puede ser buena o mala para el rendimiento del sistema, dependiendo de las necesidades del trabajo de la base de datos.

Fragmentación de los Índices

La fragmentación es consecuencia de los procesos de modificación de los datos (instrucciones INSERT, UPDATE y DELETE) efectuados en la tabla y en los índices definidos en la tabla. Como dichas modificaciones no suelen estar distribuidas de forma equilibrada entre las filas de la tabla y los índices, el llenado de cada página puede variar con el paso del tiempo. Para las consultas que recorren parcial o totalmente los índices de una tabla, este tipo de fragmentación puede producir lecturas de páginas adicionales. Esto impide el recorrido paralelo de los datos. Existen dos tipos de fragmentación:

Interna: Fragmentación dentro de páginas individuales de datos e índices con espacios libres que generan la necesidad de más operaciones de E/S y más memoria para su lectura. Este hecho disminuye el rendimiento en ambientes de lectura, pero en algunos casos puede beneficiar las inserciones, que no requieren una división de páginas con tanta frecuencia.

Externa: Cuando el orden lógico de las páginas no es correcto, porque las páginas no son contiguas. El acceso a los datos es mucho más lento por la necesidad de búsqueda de los datos.

La fragmentación de índices se puede reparar reorganizando un índice o reconstruyéndolo. Para los índices fraccionados que fueron construidos en una estructura partida se puede usar cualquiera de estos métodos o bien en un índice completo o bien en un único fragmento del índice.

Detección de Fragmentación

El primer paso para decidir qué método de desfragmentación se va a utilizar consiste en analizar el índice para determinar el nivel de fragmentación. Si se usa la función del sistema sys.dm_db_index_physical_stats, se puede detectar la fragmentación de los índices de la base de datos thuban-homologada.

SELECT DISTINCT
A.INDEX_ID 'IDIndice';
sys.TABLES.name 'Tabla',
b.name 'Indice',
avg_fragmentation_in_percentr '% Fragmentación',
fragment_count 'Cantidad de Fragmentos',
avg_fragment_size_in_pages 'Promedio de fragmentos por página',
FROM
sys.dm_db_index_physical_stats (
DB_ID ()N'thuban-himologada'),
OBJECT_ID (N'dbo.*'),
NULL,
NULL,
NULL) AS  a JOIN sys.indexes AS b ON a.object_id = b.object_id AND a.index_id = b.index_id,
sys.TABLES
WHERE
sys.TABLES.object_id = b.object_id
ORDER BY
avg_fragmentation_in_percent DESC

La grilla de resultados emitida por la anterior sentencia incluye las siguientes columnas:




Una vez que se toma conciencia del nivel de fragmentación, se debe utilizar la tabla a continuación para determinar el mejor método para su corrección.


La reconstrucción del índice puede ejecutarse tanto en línea como fuera de línea. La reorganización de los índices debe ejecutarse siempre en línea. Para adquirir una disponibilidad similar a la de la opción de reorganización, los índices deben ser reconstruidos en línea.

Estos valores proveen una estricta guía para determinar el punto en el que se debe cambiar de ALTER INDEX REORGANIZE a ALTER INDEX REBUILD.

Los niveles muy bajos de fragmentación (menores que el 5 por ciento) no deben ser corregidos por ninguno de estos comandos porque el beneficio de la remoción de una cantidad tan pequeña de fragmentación es casi siempre superado ampliamente por el costo de reorganización o reconstrucción de índices.

Reorganización de Índices

Para reorganizar uno o más índices se debe usar la sentencia ALTER INDEX con la cláusula REORGANIZE. Por ejemplo:
ALTER INDEX PK_LOGS ON THUBAN_LOGS REORGANIZE
El proceso de reorganización de índices se realiza siempre en línea y el consumo de recursos es bajo por lo que no mantiene bloqueos por mucho tiempo.


Comentarios

Entradas populares