Tipus d'índex de base de dades MySQL/crear/utilitzar la combinació ALTER ús de declaracions a MySQL

MySQLtipus d'índex/crear/utilitzar la combinació alterarMySQLús de la instrucció d'ordres

Índexs MySQL

L'establiment de l'índex MySQL és molt important per al funcionament eficient de MySQL, i l'índex pot millorar considerablement la velocitat de recuperació de MySQL.

Per exemple, si MySQL amb un disseny raonable i un ús d'índexs és un Lamborghini, aleshores MySQL sense índexs i índexs és un tricicle humà.

L'índex es divideix en índex d'una sola columna i índex compost.Índex d'una sola columna, és a dir, un índex conté només una sola columna, una taula pot tenir diversos índexs d'una sola columna, però aquest no és un índex compost.Índex compost, és a dir, un índex conté diverses columnes.

Quan creeu un índex, heu d'assegurar-vos que l'índex és una condició aplicada a la consulta SQL (generalment com a condició de la clàusula WHERE).

De fet, l'índex també és una taula, la taula desa la clau primària i els camps d'índex i apunta als registres de la taula d'entitats.

Els anteriors parlen dels avantatges de l'ús d'índexs, però l'ús excessiu d'índexs portarà a un abús.Per tant, l'índex també tindrà les seves mancances: tot i que l'índex millora molt la velocitat de consulta, reduirà la velocitat d'actualització de la taula, com ara INSERT, UPDATE i DELETE de la taula.Perquè en actualitzar la taula, MySQL no només desa les dades, sinó que també desa el fitxer d'índex.

Indexació d'un fitxer d'índex que consumeix espai en disc.


índex normal

crear un índex

Aquest és l'índex més bàsic, no té restriccions.Es pot crear de les maneres següents:

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

Per als tipus CHAR i VARCHAR, la longitud pot ser inferior a la longitud real del camp; per als tipus BLOB i TEXT, s'ha d'especificar la longitud.

Modificar l'estructura de la taula (afegir índex)

ALTER table tableName ADD INDEX indexName(columnName)

Especifiqueu directament en crear la taula

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

Sintaxi per eliminar un índex

DROP INDEX [indexName] ON mytable; 

índex únic

És similar a l'índex ordinari anterior, la diferència és: el valor de la columna de l'índex ha de ser únic, però es permeten valors nuls.En el cas d'un índex compost, la combinació de valors de columna ha de ser única.Es pot crear de les maneres següents:

crear un índex

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

Modificar l'estructura de la taula

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

Especifiqueu directament en crear la taula

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

Afegiu i elimineu índexs mitjançant l'ordre ALTER

Hi ha quatre maneres d'afegir un índex a una taula de dades:

  • ALTER TABLE nom_tbl AFEGEIX CLAU PRIMÀRIA (llista_columnes): Aquesta declaració afegeix una clau primària, el que significa que els valors de l'índex han de ser únics i no poden ser NULL.
  • ALTER TABLE nom_tbl ADD UNIQUE nom_índex (llista_columnes): El valor de l'índex creat per aquesta instrucció ha de ser únic (excepte NULL, NULL pot aparèixer diverses vegades).
  • ALTER TABLE nom_tbl ADD INDEX nom_índex (llista_columnes): Afegiu un índex normal, el valor de l'índex pot aparèixer diverses vegades.
  • ALTER TABLE nom_tbl ADD FULLTEXT nom_índex (llista_columnes):La instrucció especifica l'índex com a FULLTEXT per a la indexació de text complet.

L'exemple següent és afegir un índex a una taula.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

També podeu utilitzar la clàusula DROP de l'ordre ALTER per eliminar índexs.Proveu la següent instància per eliminar l'índex:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Afegiu i suprimiu les claus primàries mitjançant l'ordre ALTER

La clau primària només pot actuar en una columna. Quan afegiu un índex de clau primària, us heu d'assegurar que la clau primària no sigui NULL per defecte (NO NULL).Els exemples són els següents:

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

També podeu suprimir una clau primària amb l'ordre ALTER:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Només cal que especifiqueu la CLAU PRIMÀRIA quan deixeu caure la clau primària, però quan deixeu caure un índex, heu de conèixer el nom de l'índex.


mostrar informació de l'índex

Podeu utilitzar l'ordre SHOW INDEX per llistar la informació rellevant de l'índex a la taula.La informació de sortida es pot formatar afegint \G.

Proveu els exemples següents:

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

Bloc d'Hope Chen Weiliang ( https://www.chenweiliang.com/ ) ha compartit "L'ús de la instrucció ALTER del tipus d'índex de la base de dades MySQL/crear/utilitzar la combinació a MySQL", que us és útil.

Benvingut a compartir l'enllaç d'aquest article:https://www.chenweiliang.com/cwl-496.html

Benvingut al canal de Telegram del bloc de Chen Weiliang per rebre les últimes actualitzacions!

🔔 Sigues el primer a obtenir la valuosa "Guia d'ús de l'eina de màrqueting de continguts de ChatGPT" al directori principal del canal! 🌟
📚 Aquesta guia té un gran valor, 🌟Aquesta és una oportunitat rara, no la perdis! ⏰⌛💨
Comparteix i m'agrada si t'agrada!
Els vostres likes i compartir són la nostra motivació contínua!

 

发表 评论

La vostra adreça de correu electrònic no es publicarà. S'utilitzen els camps obligatoris * 标注

desplaçar-se a dalt