Combinación de tipo de índice de base de datos MySQL/creación/uso ALTER uso de declaración en MySQL

MySQLtipo de índice/crear/usar combo alter inMySQLuso de declaraciones de comando

Índices MySQL

El establecimiento del índice MySQL es muy importante para el funcionamiento eficiente de MySQL, y el índice puede mejorar en gran medida la velocidad de recuperación de MySQL.

Por ejemplo, si MySQL con un diseño razonable y uso de índices es un Lamborghini, entonces MySQL sin índices e índices es un triciclo humano.

El índice se divide en índice de una sola columna e índice compuesto.Índice de una sola columna, es decir, un índice contiene solo una sola columna, una tabla puede tener varios índices de una sola columna, pero este no es un índice compuesto.Índice compuesto, es decir, un índice contiene varias columnas.

Al crear un índice, debe asegurarse de que el índice sea una condición que se aplique a la consulta SQL (generalmente como una condición de la cláusula WHERE).

De hecho, el índice también es una tabla, la tabla guarda la clave principal y los campos de índice, y apunta a los registros de la tabla de entidades.

Todo lo anterior tiene que ver con los beneficios del uso de índices, pero el uso excesivo de índices conducirá al abuso.Por lo tanto, el índice también tendrá sus deficiencias: aunque el índice mejora mucho la velocidad de consulta, reducirá la velocidad de actualización de la tabla, como INSERTAR, ACTUALIZAR y ELIMINAR en la tabla.Porque al actualizar la tabla, MySQL no solo guarda los datos, sino que también guarda el archivo de índice.

Indexación de un archivo de índice que consume espacio en disco.


índice normal

crear índice

Este es el índice más básico, no tiene restricciones.Se puede crear de las siguientes formas:

CREATE INDEX indexName ON mytable(username(length)); 

Para los tipos CHAR y VARCHAR, la longitud puede ser menor que la longitud real del campo; para los tipos BLOB y TEXT, se debe especificar la longitud.

Modificar la estructura de la tabla (agregar índice)

ALTER table tableName ADD INDEX indexName(columnName)

Especificar directamente al crear la tabla

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
INDEX [indexName] (username(length))  
 
);  

Sintaxis para soltar un índice

DROP INDEX [indexName] ON mytable; 

índice único

Es similar al índice ordinario anterior, la diferencia es que el valor de la columna del índice debe ser único, pero se permiten valores nulos.En el caso de un índice compuesto, la combinación de valores de columna debe ser única.Se puede crear de las siguientes formas:

crear índice

CREATE UNIQUE INDEX indexName ON mytable(username(length)) 

Modificar la estructura de la tabla

ALTER table mytable ADD UNIQUE [indexName] (username(length))

Especificar directamente al crear la tabla

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
UNIQUE [indexName] (username(length))  
 
);  

Agregue y elimine índices usando el comando ALTER

Hay cuatro formas de agregar un índice a una tabla de datos:

  • ALTER TABLE tbl_name AGREGAR CLAVE PRINCIPAL (column_list): Esta declaración agrega una clave principal, lo que significa que los valores de índice deben ser únicos y no pueden ser NULL.
  • ALTER TABLE tbl_name AGREGAR ÚNICO index_name (column_list): El valor del índice creado por esta declaración debe ser único (excepto NULL, NULL puede aparecer varias veces).
  • ALTER TABLE tbl_name AGREGAR ÍNDICE nombre_índice (lista_columnas): Agregue un índice normal, el valor del índice puede aparecer varias veces.
  • ALTER TABLE tbl_name AGREGAR TEXTO COMPLETO index_name (column_list):La declaración especifica el índice como FULLTEXT para la indexación de texto completo.

El siguiente ejemplo es para agregar un índice a una tabla.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

También puede usar la cláusula DROP en el comando ALTER para eliminar índices.Pruebe la siguiente instancia para eliminar el índice:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Agregue y elimine claves primarias usando el comando ALTER

La clave principal solo puede actuar en una columna. Al agregar un índice de clave principal, debe asegurarse de que la clave principal no sea NULL de forma predeterminada (NOT NULL).Los ejemplos son los siguientes:

mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);

También puede eliminar una clave principal con el comando ALTER:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Solo necesita especificar la CLAVE PRINCIPAL al colocar la clave principal, pero al colocar un índice, debe conocer el nombre del índice.


mostrar información de índice

Puede usar el comando SHOW INDEX para listar la información de índice relevante en la tabla.La información de salida se puede formatear agregando \G.

Pruebe los siguientes ejemplos:

mysql> SHOW INDEX FROM table_name; \G
........

Esperanza Chen Weiliang Blog ( https://www.chenweiliang.com/ ) compartió "MySQL Database Index Type/Create/Use Combination ALTER Statement Usage in MySQL", que es útil para usted.

Bienvenido a compartir el enlace de este artículo:https://www.chenweiliang.com/cwl-496.html

¡Bienvenido al canal de Telegram del blog de Chen Weiliang para obtener las últimas actualizaciones!

🔔 ¡Sea el primero en obtener la valiosa "Guía de uso de la herramienta de inteligencia artificial para marketing de contenidos ChatGPT" en el directorio superior del canal! 🌟
📚 Esta guía contiene un gran valor. 🌟Esta es una oportunidad única, ¡no la pierdas! ⏰⌛💨
¡Comparte y dale me gusta si te gusta!
¡Su compartir y Me gusta son nuestra motivación continua!

 

发表 评论

Su dirección de correo electrónico no será publicada. 项 已 用 * 标注

滚动 到 顶部