Sunteți pe pagina 1din 4

UNIVERSIDAD JUÁREZ AUTÓNOMA DE TABASCO

DIVISIÓN ACADÉMICA MULTIDISCIPLINARIA DE LOS RÍOS

Licenciatura en Informática Administrativa

2.5 Optimización e Índices

Que presenta el alumno: Ramón Eduardo Galicia Pérez


Del 7mo Semestre Turno: Vespertino

Asignatura: Administración de bases de datos

Profesor:
M.A.T.I. Yeraldo de Jesús Delgado Montiel

Tenosique, Tabasco; 24 de noviembre de 2018


Unidad II Optimización Administración de bases de datos

2.5 Optimización

2.5.1 Optimización de consultas en MySQL

La optimización es el proceso de elegir la vía más eficiente para resolver


una consulta SQL. Uno de los requisitos más importantes para conseguir un
rendimiento óptimo de MySQL es la indexación. La indexación es una
función interna de MySQL que permite una recolección de datos más rápida
entre muchos registros de una tabla.

2.5.2 Índices

Un índice (o KEY, o INDEX) son un grupo de datos que MySQL


asocia con una o varias columnas de la tabla. En este grupo de datos
aparece la relación entre el contenido y el número de fila donde está
ubicado.
Los índices -como los índices de los libros- sirven para agilizar las
consultas a las tablas, evitando así que MySQL tenga que revisar todos los
datos disponibles para devolver el resultado.
Los índices en MySQL permiten localizar y devolver registros de una
forma sencilla y rápida. Son especialmente útiles cuando queremos buscar
elementos de entre los millones y hasta billones de registros que puede
contener una tabla en un momento dado. Cuando no usamos índices, a
veces podemos percibir que MySQL tarda demasiado en responder una
consulta o, incluso para usuarios inexpertos, puede parecer que se ha
creado un índice pero que no se siente una mejora en la velocidad.
Unidad II Optimización Administración de bases de datos

¿Para qué sirven los índices?


 Sirven para acelerar las consultas en las bases de datos
 Ayudan a cumplir las restricciones de única, y clave foránea

Tipos de indices

 Primario:
Se refiere a un índice en el que todas las columnas deben
tener un valor único (al igual que en el caso del índice
UNIQUE) pero con la limitación de que sólo puede existir un
índice PRIMARY en cada una de las tablas. Aplica la
restricción de que los datos de la columna (o columnas) deben
tener un valor único, Se trata de un índice diseñado para
consultas especialmente rápidas. Todos sus campos deben
ser UNICOS y no admite valores NULL o vacíos.

Su estructura es:
ALTER TABLE nombre_tabla
ADD PRIMARY KEY(columna_índice_primario);

 Ordinario:
Se refiere a un indice común, empleado para realizar
consultas sql que apunten a esa columna con mayor
frecuencia, este tipo de índice permite valores repetidos y
valores nulos. A diferencia de las claves únicas, estos índices
se destinan a encontrar en una tabla varios registros que
comparten un mismo valor (o conjunto de valores), y no un
único registro, tambien es util para crear listas ordenadas.

Su estructura es:
CREATE INDEX nombre_indice_ordinario(idx)
ON nombre_tabla(columna_índice_ordinario);
Unidad II Optimización Administración de bases de datos

 Unico:
se refiere a un índice en el que todas las columnas deben
tener un valor único. Esto implica que no admite valores
duplicados para la columna (o columnas) que componen el índice.
Aplica la restricción de que los datos de la columna (o columnas)
deben tener un valor único, Este tipo de indice al igual que las
claves primarias nunca pueden tener valores repetidos. Pero a
diferencia de estas pueden tener registros con valores NULL
(vacíos).

Su estructura es:
CREATE UNIQUE INDEX nombre_indice_unico(idx)
ON nombre_tabla(columna_índice_unico);

 Compuesto:
Se refiere a un indice que admite u o mas de dos columnas y
estas a su vez pueden ser duplicadas, en este tipo de indice
no aplica la restricción de que los datos de la columna (o
columnas) deben tener un valor único.

Su estructura es:
CREATE UNIQUE INDEX nombre_indice_compuesto(idx)
ON nombre_tabla(columna1, columna2, columna n..);