Mysql Indices
Revisión del 19:01 25 abr 2018 de Wiki (discusión | contribuciones) (Página creada con «=Introdución= * Ya vimos que podemos [http://wiki.cifprodolfoucha.es/index.php?title=Mysql_Ficheros_de_log#El_registro_slow_query activar el registro de consultar lentas]...»)
Introdución
- Ya vimos que podemos activar el registro de consultar lentas para determinar cuales son las consultas que más ralentizan el Mysql.
- Cuando descubramos una de esas sentencias, tendremos que analizarla para ver la razón.
- Una posible causa será el no utilizar indices.
- Un índice es una estructura de datos en la cual los valores guardados son los datos de una o más columnas de una tabla de forma ordenada. Cada entrada del índice apuntará a la ubicación del registro en la tabla.
- De esta forma, la búsqueda de registros por un campo indexado será mucho más rápida que si no lo está.
- Como en todo, el uso de registros lleva aparejado ciertos problemas (sino fuera así podríamos crear índices para todas las columnas de una tabla):
- Es una estructura de datos que ocupa espacio a mayores del espacio de la propia tabla.
- En caso de operaciones de insercción, borrado o modificación el índice se debe rehacer con la cosiguiente carga de trabajo para el gestor.
- Toda clave primaria debe tener un índice asociado (de hecho se crea automaticamente).
- También deberían tenerlo las claves foráneas.
- Un ejemplo obtenido de la wiki:
- En este ejemplo, la clave primaria tiene asociado un índice de tipo BTREE, en el que las claves están ordenadas, estando al lado izquierdo las menores y al lado derecho las mayores con respecto al valor referenciado de un nodo dado.
Tipos de índices
-- Ángel D. Fernández González -- (2017).
