Agregar índice en tabla de MySQL o MariaDB

Agregar índice a tabla en MySQL

En este post sobre bases de datos te enseñaré a agregar un índice a una columna de cualquier tabla en MySQL y MariaDB.

Recuerda que agregamos índices a las columnas para optimizar las consultas. Esto no siempre es necesario, solo lo es cuando vamos a hacer varias consultas (o consultas con varios datos) utilizando un campo en específico y queremos optimizarlas para, en general, hacerlas más rápidas.

Agregando índice

Agregar índice en tabla de MySQL o MariaDB
Agregar índice en tabla de MySQL o MariaDB

Para agregar el índice en MariaDB recuerda que la tabla ya debe existir y tener columnas. Ahora la sintaxis es:

ALTER TABLE nombre_tabla ADD INDEX nombre_de_índice (columna_en_la_que_se_agrega);

Ejemplo

Ahora que tenemos la sintaxis, veamos un ejemplo. Yo tengo la siguiente tabla con las columnas fecha, ip, pagina y url.

MariaDB [visitas_php]> describe visitas;
+--------+--------------+------+-----+---------+-------+
| Field  | Type         | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| fecha  | varchar(10)  | NO   | MUL | NULL    |       |
| ip     | varchar(255) | NO   |     | NULL    |       |
| pagina | varchar(255) | NO   |     | NULL    |       |
| url    | varchar(255) | NO   |     | NULL    |       |
+--------+--------------+------+-----+---------+-------+
4 rows in set (0.027 sec)

Para agregar el índice, se hace la siguiente consulta:

ALTER TABLE visitas ADD INDEX indice_fecha (fecha);

Con ese comando podemos ver que la tabla se llama visitas, el índice que agregamos se llama indice_fecha y la columna que estamos indexando es fecha.

Ya después se pueden ver los índices con SHOW INDEXES FROM tabla:

MariaDB [visitas_php]> show indexes from visitas;
+---------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table   | Non_unique | Key_name     | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+---------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| visitas |          1 | indice_fecha |            1 | fecha       | A         |          10 |     NULL | NULL   |      | BTREE      |         |               |
+---------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
1 row in set (0.001 sec)

Recuerda que igualmente puedes agregar más índices para las demás columnas. Todo depende de tus necesidades y las consultas que vayas a hacer.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *