Directorio de artigos
MySQLTipo de índice/Crear/Usar combo alterarMySQLuso da instrución de comandos
Índices MySQL
O establecemento do índice MySQL é moi importante para o funcionamento eficiente de MySQL, e o índice pode mellorar moito a velocidade de recuperación de MySQL.
Por exemplo, se un MySQL deseñado e indexado correctamente é un Lamborghini, entón MySQL sen deseño indexado é un triciclo humano.
O índice divídese en índice dunha soa columna e índice composto.Índice dunha soa columna, é dicir, un índice contén só unha única columna, unha táboa pode ter varios índices dunha soa columna, pero este non é un índice composto.Índice composto, é dicir, un índice contén varias columnas.
Ao crear un índice, cómpre asegurarse de que o índice é unha condición que se aplica á consulta SQL (normalmente como condición da cláusula WHERE).
De feito, o índice tamén é unha táboa, a táboa garda a chave primaria e os campos de índice e apunta aos rexistros da táboa de entidades.
Os anteriores están a falar dos beneficios do uso de índices, pero o uso excesivo de índices levará a un abuso.Polo tanto, o índice tamén terá as súas deficiencias: aínda que o índice mellora moito a velocidade de consulta, reducirá a velocidade de actualización da táboa, como INSERT, UPDATE e DELETE da táboa.Porque ao actualizar a táboa, MySQL non só garda os datos, senón que tamén garda o ficheiro de índice.
Indexando un ficheiro de índice que consome espazo no disco.
índice normal
crear índice
Este é o índice máis básico, non ten restricións.Pódese crear das seguintes formas:
CREATE INDEX indexName ON mytable(username(length));
Para os tipos CHAR e VARCHAR, a lonxitude pode ser inferior á lonxitude real do campo; para os tipos BLOB e TEXT, debe especificarse a lonxitude.
Modificar a estrutura da táboa (engadir índice)
ALTER table tableName ADD INDEX indexName(columnName)
Especifique directamente ao crear a táboa
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)) );
Sintaxe para soltar un índice
DROP INDEX [indexName] ON mytable;
índice único
É semellante ao índice ordinario anterior, a diferenza é: o valor da columna do índice debe ser único, pero se permiten valores nulos.No caso dun índice composto, a combinación de valores de columna debe ser única.Pódese crear das seguintes formas:
crear índice
CREATE UNIQUE INDEX indexName ON mytable(username(length))
Modificar a estrutura da táboa
ALTER table mytable ADD UNIQUE [indexName] (username(length))
Especifique directamente ao crear a táboa
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, UNIQUE [indexName] (username(length)) );
Engade e elimina índices usando o comando ALTER
Hai catro formas de engadir un índice a unha táboa de datos:
- ALTER TABLE nome_tbl ENGADIR CLAVE PRIMARIA (lista_columnas): Esta declaración engade unha clave primaria, o que significa que os valores do índice deben ser únicos e non poden ser NULL.
- ALTER TABLE nome_tbl ADD UNIQUE nome_índice (lista_columna): O valor do índice creado por esta instrución debe ser único (excepto NULL, NULL pode aparecer varias veces).
- ALTER TABLE nome_tbl ADD INDEX nome_índice (lista_columna): Engade un índice normal, o valor do índice pode aparecer varias veces.
- ALTER TABLE nome_tbl ADD FULLTEXT nome_índice (lista_columna):A instrución especifica o índice como FULLTEXT para a indexación de texto completo.
O seguinte exemplo é engadir un índice a unha táboa.
mysql> ALTER TABLE testalter_tbl ADD INDEX (c);
Tamén pode usar a cláusula DROP do comando ALTER para soltar índices.Proba a seguinte instancia para soltar o índice:
mysql> ALTER TABLE testalter_tbl DROP INDEX c;
Engade e elimina chaves primarias mediante o comando ALTER
A chave primaria só pode actuar nunha columna. Cando engadas un índice de clave principal, cómpre asegurarte de que a chave primaria non é NULL por defecto (NON NULL).Os exemplos son os seguintes:
mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL; mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);
Tamén podes eliminar unha chave primaria co comando ALTER:
mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;
Só precisa especificar a CLAVE PRIMARIA ao soltar a chave primaria, pero ao soltar un índice, debe coñecer o nome do índice.
mostrar información do índice
Podes usar o comando SHOW INDEX para listar a información de índice relevante na táboa.A información de saída pódese formatear engadindo \G.
Proba os seguintes exemplos:
mysql> SHOW INDEX FROM table_name; \G ........
Blog de Hope Chen Weiliang ( https://www.chenweiliang.com/ ) compartiu "Tipo de índice de base de datos MySQL/Crear/Usar combinación de uso da instrución ALTER en MySQL", que é útil para ti.
Benvido a compartir a ligazón deste artigo:https://www.chenweiliang.com/cwl-496.html
Benvido á canle de Telegram do blog de Chen Weiliang para recibir as últimas actualizacións.
📚 Esta guía contén un gran valor, 🌟Esta é unha oportunidade rara, non a perdas! ⏰⌛💨
Comparte e da like se che gusta!
O teu compartir e gústame son a nosa motivación continua!