Latest web development tutorials

Índice de MySQL

MySQL MySQL construir índices para una operación eficiente es muy importante, los índices pueden mejorar en gran medida la velocidad de recuperación de MySQL.

Por ejemplo, si un diseño razonable y utiliza el índice MySQL es un Lamborghini, entonces no hay diseño y el uso del índice de MySQL es un triciclo.

Índice de puntos de índice por separado y el índice de combinación. índice separado que contiene sólo un único índice de la columna, una tabla puede tener múltiples índice separado, pero esto no es un índice compuesto. índice compuesto, a saber, un cable que comprende una pluralidad de columnas.

Cuando se crea un índice, es necesario asegurarse de que el índice se utiliza en una condiciones de consulta SQL (en general como condición de la cláusula WHERE).

De hecho, el índice es también una tabla que contiene los campos clave y el índice primario, y puntos para registrar la tabla de entidad.

Lo anterior están hablando de los beneficios de utilizar el índice, pero el uso excesivo del índice dará lugar a abusos. Por lo tanto, el índice también tiene sus desventajas: Mientras que el índice se incrementó en gran medida la velocidad de consulta, mientras que se reducirá la velocidad de actualización de la tabla, como la inserción de la mesa, UPDATE y DELETE. Debido a que la tabla de actualización, MySQL no es sólo para guardar los datos, sino también ahorrar sobre el archivo de índice.

Indexación ocupa espacio en disco en el archivo de índice.


índice general

crear índice

Este es el índice básico, que no tiene ninguna restricción. Se ha creado las siguientes maneras:

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

Si es CHAR, tipo VARCHAR, la longitud puede ser menor que la longitud real del campo, y si los tipos BLOB y TEXT, debe especificar la longitud.

Modificar estructura de tabla

ALTER mytable ADD INDEX [indexName] ON (username(length)) 

Cuando se crea una tabla especificar directamente

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

Eliminar la sintaxis de índice

DROP INDEX [indexName] ON mytable; 

Índice único

Es similar a la del índice general anterior, es diferente: el valor de las columnas de índice debe ser único, pero permitir que el valor libre. Si se trata de una combinación del índice, el valor de la columna debe ser único. Se ha creado las siguientes maneras:

crear índice

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

Modificar estructura de tabla

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

Cuando se crea una tabla especificar directamente

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

Utilizar el comando ALTER para agregar y eliminar índices

Hay cuatro formas de añadir la tabla de datos de índice:

  • ALTER TABLE nombre_tabla ADD PRIMARY KEY (column_list ): Esta sentencia añade una clave principal, lo que significa que el valor del índice debe ser único y no puede ser NULL.

  • ALTER TABLE nombre_tabla ADD index_name único (column_list ): Esta instrucción crea un valor de índice debe ser único (excepto NULL exterior, NULL puede aparecer varias veces).
  • ALTER TABLE nombre_tabla ADD index_name ÍNDICE (column_list ): añadir un índice normal, el valor del índice puede aparecer varias veces.
  • ALTER TABLE nombre_tabla ADD index_name FULLTEXT (column_list ): Esta declaración especifica el índice FULLTEXT es, para la indización de texto completo.

Los siguientes ejemplos añadir un índice en la tabla.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

También puede utilizar la cláusula DROP para eliminar el índice en el comando ALTER. Prueba los siguientes ejemplos para eliminar el índice:

mysql> ALTER TABLE testalter_tbl DROP INDEX (c);

Utilizar el comando ALTER para agregar y eliminar la clave primaria

Sólo actúa sobre una columna de clave principal, cuando se agrega un índice de clave principal, es necesario asegurarse de que la clave principal defecto no está vacío (NOT NULL). 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 utilizar el comando ALTER para eliminar la clave primaria:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Sólo especifique PRIMARY KEY Eliminar el tiempo especificado, pero cuando se elimina el índice, se debe conocer el nombre del índice.


información de índice de visualización

Puede utilizar el comando SHOW INDEX para enumerar la información de índice de la tabla. Mediante la adición de \ G para dar formato a la salida.

Prueba los siguientes ejemplos:

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