sql >> Base de Datos >  >> RDS >> Mysql

Cómo crear un índice en MySQL

Los índices de MySQL facilitan las búsquedas y mejoran la velocidad de las consultas SQL. A continuación se explica cómo crear un índice en MySQL para mejorar el rendimiento de la base de datos mediante la instrucción CREATE INDEX de MySQL.

Cómo funciona la indexación en MySQL

Por lo general, cuando ejecuta una consulta SQL con una cláusula WHERE u otro tipo de búsqueda, como JOINS, MySQL necesita escanear todos los registros en su tabla para encontrar filas coincidentes. En caso de que sus tablas tengan millones de filas, esto puede consumir mucho tiempo y ralentizar considerablemente sus consultas SQL.

Los índices de MySQL aceleran sus consultas SQL al mantener los valores de las columnas indexadas en una estructura de árbol B que está optimizada para búsquedas y coincidencias. Por lo tanto, los índices facilitan la búsqueda rápida de filas que coincidan con uno o más valores.

De forma predeterminada, MySQL crea un índice para cada columna de clave principal en su base de datos.

Lectura adicional:Cómo crear un procedimiento almacenado en MySQL

Cómo crear un índice en MySQL

Estos son los pasos para crear un índice en MySQL. Puede crear un índice en el momento de la creación de la tabla o agregarlo después. Veremos ambos enfoques.

Cómo crear un índice MySQL durante la creación de tablas

Esta es la sintaxis para crear un índice durante la creación de una tabla

CREATE TABLE table_name(
   column_definitions,
   INDEX (list_of_columns) 
);

En la consulta anterior, table_name es su tabla para ser creada y column_definitions es la lista de columnas y definiciones.

ÍNDICE(lista_de_columnas) es donde creas el índice MySQL. El índice se creará para la lista de columnas separadas por comas mencionadas como list_of_columns

Lectura adicional:Cómo crear un usuario en MySQL

He aquí un ejemplo.

CREATE TABLE orders(
   order_id INT PRIMARY KEY,
   sale INT NOT NULL,
   product_id INT NOT NULL,
   product_name VARCHAR(10),
   INDEX (product_id) 
);

En la consulta anterior, hemos creado un índice para product_id columna.

Este es un ejemplo de cómo crear un índice usando varias columnas.

CREATE TABLE orders(
   order_id INT PRIMARY KEY,
   sale INT NOT NULL,
   product_id INT NOT NULL,
   product_name VARCHAR(10),
   INDEX (product_id, order_id) 
);

En la consulta anterior, hemos creado un índice para varias columnas product_id, order_id

Lectura adicional:Cómo crear una base de datos en MySQL

Cómo agregar índice a la columna en la tabla

Digamos que desea agregar un índice para una columna o un conjunto de columnas, luego use la instrucción CREATE INDEX. Esta es la sintaxis de la sentencia CREATE INDEX

CREATE INDEX index_name ON table_name (column_list)

En la consulta anterior, especificamos el nombre del índice, la tabla para la que necesita crear un índice y la lista de columnas que se incluirán en la indexación.

Aquí hay un ejemplo para agregar un nuevo índice para la columna product_name en los pedidos anteriores mesa

CREATE INDEX prod_name_index ON orders (product_name);

Para ver los índices agregados a una tabla, puede usar la declaración SHOW INDEXES. Aquí está la sintaxis para MOSTRAR ÍNDICES

SHOW INDEXES from table_name;

Aquí hay un ejemplo para ver los índices de pedidos table
SHOW INDEXES from orders;

Con suerte, el artículo anterior lo ayudará a crear un índice en MySQL.

Ubiq facilita la visualización de datos en minutos y la supervisión en paneles en tiempo real. ¡Pruébalo hoy!