Articulu Directory
MySQLtipu d'indice / creà / aduprà combo altera inMySQLusu di dichjarazione di cumandamentu
Indici MySQL
U stabilimentu di l'indici MySQL hè assai impurtante per u funziunamentu efficiente di MySQL, è l'indici pò migliurà assai a veloce di ricuperazione di MySQL.
Per esempiu, se MySQL cun un disignu raghjone è l'usu di l'indici hè una Lamborghini, allura MySQL senza indici è indici hè un triciclu umanu.
L'indexu hè divisu in un indice à una sola colonna è un indice cumpostu.Indice di una sola colonna, vale à dì, un indexu cuntene solu una sola colonna, una tavula pò avè parechje indici di una sola colonna, ma questu ùn hè micca un indice cumpostu.Indice cumpostu, vale à dì, un indice cuntene parechje colonne.
Quandu crea un indice, avete bisognu di assicurà chì l'indici hè una cundizione chì s'applica à a query SQL (in solitu cum'è una cundizione di a clause WHERE).
In fattu, l'indici hè ancu una tavula, a tavula salva a chjave primaria è i campi d'indici, è punta à i registri di a tavola di l'entità.
I sopratuttu parranu di i benefici di l'usu di l'indici, ma l'usu eccessivu di l'indici portanu à l'abusu.Dunque, l'indici avarà ancu i so difetti: ancu s'ellu l'indici migliurà assai a velocità di a dumanda, riducerà a velocità di l'aghjurnamentu di a tavola, cum'è INSERT, UPDATE è DELETE di a tavola.Perchè quandu aghjurnà a tavula, MySQL ùn solu salva i dati, ma ancu salva u schedariu index.
Indexazione di un schedariu d'indici chì cunsuma u spaziu di discu.
indice normale
creà un indice
Questu hè l'indice più basicu, ùn hà micca restrizioni.Pò esse creatu in i seguenti modi:
CREATE INDEX indexName ON mytable(username(length));
Per i tipi CHAR è VARCHAR, a lunghezza pò esse menu di a lunghezza attuale di u campu; per i tipi BLOB è TEXT, a lunghezza deve esse specificata.
Mudificà a struttura di a tavula (aghjunghje indice)
ALTER table tableName ADD INDEX indexName(columnName)
Specificà direttamente quandu crea a tavola
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)) );
Sintaxi per abbandunà un indice
DROP INDEX [indexName] ON mytable;
indice unique
Hè simile à l'indici ordinariu precedente, a diferenza hè: u valore di a colonna d'indici deve esse unicu, ma i valori nulli sò permessi.In u casu di un indice cumpostu, a cumminazzioni di valori di colonna deve esse unica.Pò esse creatu in i seguenti modi:
creà un indice
CREATE UNIQUE INDEX indexName ON mytable(username(length))
Mudificà a struttura di a tavola
ALTER table mytable ADD UNIQUE [indexName] (username(length))
Specificà direttamente quandu crea a tavola
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, UNIQUE [indexName] (username(length)) );
Aghjunghjite è sguassate l'indici cù u cumandimu ALTER
Ci hè quattru modi per aghjunghje un indice à una tabella di dati:
- ALTER TABLE tbl_name ADD PRIMARY KEY (lista_colonna): Questa dichjarazione aghjunghje una chjave primaria, chì significa chì i valori d'indici deve esse unichi è ùn ponu esse NULL.
- ALTER TABLE tbl_name ADD UNIQUE index_name (lista_colonna): U valore di l'indici creatu da sta dichjarazione deve esse unicu (eccettu NULL, NULL pò esse parechje volte).
- ALTER TABLE nome_tbl ADD INDEX nome_indice (lista_colonna): Aghjunghjite un indice normale, u valore di l'indice pò esse parechje volte.
- ALTER TABLE nome_tbl ADD FULLTEXT nome_indice (lista_colonna):A dichjarazione specifica l'indici cum'è FULLTEXT per l'indexazione full-text.
L'esempiu seguente hè di aghjunghje un indice à una tavula.
mysql> ALTER TABLE testalter_tbl ADD INDEX (c);
Pudete ancu aduprà a clausula DROP in u cumandimu ALTER per abbandunà l'indici.Pruvate l'esempiu seguente per abbandunà l'indici:
mysql> ALTER TABLE testalter_tbl DROP INDEX c;
Aghjunghjite è sguassate i chjavi primari cù u cumandimu ALTER
A chjave primaria pò agisce solu nantu à una colonna. Quandu aghjunghje un indice di chjave primaria, avete bisognu di assicurà chì a chjave primaria ùn hè micca NULL per difettu (NOT NULL).Esempii sò i seguenti:
mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL; mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);
Pudete ancu sguassà una chjave primaria cù u cumandimu ALTER:
mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;
Solu bisognu di specificà a CHIAVE PRIMARIA quandu abbandunà a chjave primaria, ma quandu abbandunà un indice, deve cunnosce u nome di l'indici.
mostra l'infurmazione di l'indice
Pudete aduprà u cumandimu SHOW INDEX per listà l'infurmazioni pertinenti di l'indici in a tavula.L'infurmazione di output pò esse furmatu aghjunghjendu \G.
Pruvate i seguenti esempi:
mysql> SHOW INDEX FROM table_name; \G ........
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) hà spartutu "MySQL Database Index Type/Create/Use Combination ALTER Statement Usage in MySQL", chì hè utile per voi.
Benvenuti à sparte u ligame di stu articulu:https://www.chenweiliang.com/cwl-496.html
Benvenuti à u canali Telegram di u blog di Chen Weiliang per avè l'ultime aghjurnamenti!
📚 Questa guida cuntene un valore enormu, 🌟Questa hè una rara opportunità, ùn mancate micca! ⏰⌛💨
Condividi è mi piace se ti piace!
A vostra spartera è Mi piace sò a nostra motivazione cuntinua!