Tutorial de índice de MySQL – Crear, agregar y soltar

¿Qué son Index?

A nadie le gustan los sistemas lentos.

El alto rendimiento del sistema es de primordial importancia en casi todos los sistemas de bases de datos.

La mayoría de las empresas invierten mucho en hardware para que las recuperaciones y manipulaciones de datos puedan ser más rápidas.

Pero existe un límite para las inversiones de hardware que una empresa puede hacer.

Optimizar su base de datos es una solución más barata y mejor.

Con este fin, podemos usar ÍNDICES.

  • La lentitud en el tiempo de respuesta generalmente se debe a que los registros se almacenan aleatoriamente en las tablas de la base de datos.
  • Las consultas de búsqueda tienen que recorrer los registros almacenados aleatoriamente uno tras otro para ubicar los datos deseados.
  • Esto da como resultado bases de datos de bajo rendimiento cuando se trata de recuperar datos de tablas grandes
  • Los índices son útiles en tales situaciones. Los índices ordenan los datos de una manera secuencial organizada. Piense en un índice como una lista ordenada alfabéticamente. Es más fácil buscar nombres que se hayan ordenado en orden alfabético que aquellos que no están ordenados.
  • Los ÍNDICES se crean en la (s) columna (s) que se usarán para filtrar los datos.
  • El uso de índices en tablas que se actualizan con frecuencia puede dar como resultado un bajo rendimiento. Esto se debe a que MySQL crea un nuevo bloque de índice cada vez que se agregan o actualizan datos en la tabla. En general, los índices se deben usar en tablas cuyos datos no cambian con frecuencia, pero se usan mucho en determinadas consultas de búsqueda.

Crear sintaxis básica de índice

Los índices se pueden definir de 2 maneras

  1. En el momento de la creación de la mesa
  2. Después de que se ha creado la tabla

Ejemplo:

Para nuestro myflixdb, esperamos muchas búsquedas en la base de datos con el nombre completo.

Añadiremos la columna “full_names” a Index en una nueva tabla “members_indexed”.

La secuencia de comandos que se muestra a continuación nos ayuda a lograr eso.

Ejecute el script SQL anterior en MySQL workbench contra el “myflixdb”.

Al actualizar myflixdb, se muestra la tabla recién creada llamada members_indexed.

” Nota “ mesa “members_indexed tiene full_names” en el nodo índices.

A medida que la base de miembros se expande y aumenta el número de registros, las consultas de búsqueda en la tabla members_indexed que usan las cláusulas WHERE y ORDER BY serán mucho más rápidas en comparación con las realizadas en la tabla de miembros sin el índice definido.

Agregar sintaxis básica de índice

El ejemplo anterior creó el índice al definir la tabla de la base de datos. Supongamos que ya tenemos una tabla definida y las consultas de búsqueda son muy lentas. Toman demasiado tiempo para devolver los resultados. Después de investigar el problema, descubrimos que podemos mejorar en gran medida el rendimiento del sistema creando INDEX en la columna más utilizada en la cláusula WHERE.

Podemos usar la siguiente consulta para agregar el índice

Supongamos que las consultas de búsqueda en la tabla de películas son muy lentas y queremos usar un índice en el “título de la película” para acelerar las consultas, podemos usar la siguiente secuencia de comandos para lograr eso.

Ejecutar la consulta anterior crea un índice en el campo de título en la tabla de películas.

Esto significa que todas las consultas de búsqueda en la tabla de películas con el “título” serán más rápidas.

Sin embargo, las consultas de búsqueda en otros campos de la tabla de películas seguirán siendo más lentas en comparación con las basadas en el campo indexado.

Tenga en cuenta que puede crear índices en varias columnas si es necesario, según los campos que pretenda usar para su motor de búsqueda de bases de datos.

Si desea ver los índices definidos en una tabla particular, puede usar la siguiente secuencia de comandos para hacer eso.

Veamos ahora todos los índices definidos en la tabla de películas en myflixdb.

Ejecutar el script anterior en MySQL workbench contra myflixdb nos da los siguientes resultados que se muestran a continuación.

Tenga en cuenta que las claves primarias y externas de la tabla ya han sido indexadas por MySQL. Cada índice tiene su propio nombre único y también se muestra la columna en la que está definido.

Sintaxis básica del índice de caída

El comando de soltar se usa para eliminar índices ya definidos en una tabla.

Puede haber momentos en los que ya haya definido un índice en una tabla que se actualiza con frecuencia. Es posible que desee eliminar los índices en dicha tabla para mejorar el rendimiento de las consultas UPDATE e INSERT. La sintaxis básica utilizada para soltar un índice en una tabla es la siguiente.

Veamos ahora un ejemplo práctico.

Al ejecutar el comando anterior, se cae el índice con id full_names de la tabla members_indexed.

Resumen

  • Los índices son muy potentes cuando se trata de mejorar en gran medida el rendimiento de las consultas de búsqueda de MySQL.
  • Los índices se pueden definir al crear una tabla o agregarse más adelante después de que la tabla ya se haya creado.
  • Puede definir índices en más de una columna en una tabla.
  • SHOW INDEX FROM table_name se usa para mostrar los índices definidos en una tabla.
  • El comando DROP se usa para eliminar un índice definido en una tabla dada.
0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *