Introducción
MySQL es una aplicación de base de datos que organiza los datos en tablas, que a su vez tienen valores organizados en filas y columnas. En MySQL, un índice es una estructura de datos que hace que la información sea más buscable.
Sin un índice, MySQL lee toda la tabla para encontrar la fila requerida y es muy ineficiente.
Esta guía le mostrará cómo crear un índice en MySQL utilizando CREATE INDEX
declaración.
Requisitos previos
- Una instalación MySQL existente
- Una cuenta de usuario de MySQL con raíz o administrador privilegios
- Acceso a una línea de comando/ventana de terminal:
- En Linux, haga clic en Actividades> Buscar> Terminal
- En Windows, haga clic con el botón derecho en Inicio> Línea de comandos (o Windows PowerShell)
Crear sintaxis de índice de MySQL
Un CREATE INDEX
declaración en MySQL utiliza el siguiente formato:
mysql> CREATE INDEX [some_index] ON [some_table] ([some_column],[other_column]);
some_index
– El nombre del índicesome_table
– El nombre de la tabla con las columnas indexadassome_column, other_column
– Los nombres de las columnas que se indexarán
MySQL Crear Índice en Nueva Tabla
Para crear un índice al mismo tiempo que se crea la tabla en MySQL:
1. Abra una ventana de terminal e inicie sesión en el shell de MySQL.
mysql -u username -p
2. Cree y cambie a una nueva base de datos ingresando el siguiente comando:
mysql> CREATE DATABASE mytest;
Query OK, 1 row affected (0.01 sec)
mysql; USE mytest;
Database changed
3. A continuación, cree columnas en la tabla e indexelas:
mysql> CREATE TABLE example (
col1 INT PRIMARY KEY,
col2 INT NOT NULL,
col3 INT NOT NULL,
col4 VARCHAR(20),
INDEX (col2, col3)
);
El comando crea una tabla llamada example , lo completa con 4 columnas y agrega índices para la columna 2 y la columna 3.
4. A continuación, muestre una lista de los índices de la tabla:
mysql; SHOW INDEXES FROM example;
Debería ver un índice para PRIMARIO, COL2 y COL3. Aunque no se especificó PRIMARY, MySQL creó automáticamente un índice para la clave principal.
Agregar índice a la tabla MySQL existente
Las mejores prácticas de MySQL recomiendan crear un índice al mismo tiempo que se crea la tabla. Sin embargo, también se puede agregar un índice a una tabla existente. Las instrucciones a continuación explican cómo agregar un índice a una tabla MySQL existente.
1. Cree una nueva tabla ingresando el siguiente comando:
mysql> CREATE TABLE example2 (
col1 INT PRIMARY KEY,
col2 VARCHAR(20),
col3 VARCHAR(20),
col4 VARCHAR(20)
);
Query OK, 0 rows affected (0.25 sec)
2. A continuación, muestre el índice actual para example2 :
mysql> SHOW INDEXES FROM example2;
El sistema debe mostrar un solo índice para la clave principal.
3. A continuación, agregue un índice para col2 y col3 ingresando el siguiente comando:
mysql> CREATE INDEX index1 ON example2 (col2,col3);
4. Muestre los índices para example2 :
mysql> SHOW INDEXES FROM example2;
El sistema ahora debería mostrar el índice de clave principal, además de col2 y col3 enumerados en index1 .