Sexto Semestre TBD Material 4
Sexto Semestre TBD Material 4
Sexto Semestre TBD Material 4
ADMINISTRACIÓN DE BASE
DE DATOS
TEMA 4. OPERACIÓN Y
MANTENIMIENTO
4.1 Archivos log del SGBD
4.2 Definición de los modos de operación de un SGBD. (alta, baja, recovery) y comandos de
activación
4.3 Índices, reorganización y reconstrucción
4.1 ARCHIVOS LOG DEL SGBD
• Los ficheros de log, son ficheros que registran eventos que suceden durante
la utilización del gestor Mysql.
• Tenemos que tener cuidado, a la hora de hacer uso de dichos registros, de
vigilar el tamaño ya que crecerán indefinidamente hasta acabar con el
espacio de disco.
TIPOS DE FICHEROS DE LOG
Manejo de índices
El índice de una base de datos es una estructura alternativa de los datos en
una tabla. El propósito de los índices es acelerar el acceso a los datos
mediante operaciones físicas más rápidas y efectivas. En pocas palabras, se
mejoran las operaciones gracias a un aumento de la velocidad, permitiendo un
rápido acceso a los registros de una tabla en una base de datos.
Existen diferentes tipos de índices algunos de ellos son:
Índices agrupados: definen el orden en que almacenan las filas de la tabla
(nodos hoja/página de datos de la imagen anterior). La clave del índice
agrupado es el elemento clave para esta ordenación; el índice agrupado se
implementa como una estructura de árbol b que ayuda a que la recuperación
de las filas a partir de los valores de las claves del índice agrupado sea más
rápida. Se debe tener en cuenta: Columnas selectivas, columnas afectadas
en consultas, Columnas accedidas "secuencialmente", Columnas implicadas
en JOIN, GROUP BY y el Acceso muy rápido a filas: lookups
Índices no agrupados: tienen la misma estructura de árbol b que los índices
agrupados, con algunos matices; como hemos visto antes, en los índices
agrupados, en el último nivel del índice (nivel de hoja) están los datos; en los índices
no-agrupados, en el nivel de hoja del índice, hay un puntero a la localización física
de la fila correspondiente en el índice agrupado.
Índices compuestos: es un índice de varias columnas de una tabla. Las columnas de
un índice compuesto que deben aparecer en el orden que tenga más sentido para
las consultas que recuperar datos y no necesita ser adyacente en la tabla.
índices descendientes: Este tipo de índice almacena los datos en una columna o
columnas de concreto en orden descendente.
REORGANIZACION 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. Un paquete puede usar la tarea Reorganizar índice para
reorganizar los índices de una base de datos individual o de varias bases de
datos.
La tarea Reorganizar índice encapsula la instrucción ALTER INDEX de
Transact-SQL. Si elige compactar datos de objetos grandes, la instrucción
utiliza la cláusula REORGANIZE WITH (LOB_COMPACTION = ON); en caso
contrario, se establece LOB_COMPACTION en OFF.
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.
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.
Reconstrucción de índices: Se debe examinar y determinar qué índices son
susceptibles de ser reconstruidos. Cuando un índice está descompensado
puede ser porque algunas partes de éste han sido accedidas con mayor
frecuencia que otras.
Blevel (branch level) es parte del formato del B-tree del índice e indica el
número de veces que Oracle ha tenido que reducir la búsqueda en ese índice
Si este valor está por encima de 4 el índice deberá de ser reconstruido.
ALTER INDEX <index_name> REBUILD;
Para reconstruir una partición de un índice podríamos hacer los siguientes:
ALTER INDEX <index_name> REBUILD PARTITION <nb_partition> NOLOGGING;
Comando ALTER INDEX
Como hemos comentado esta sentencia se utiliza para cambiar o reconstruir un Índice
existente en la base de datos. Para reconstruir un Índice bastaría con lazar la siguiente
sentencia: ALTER INDEX REBUILD;