A volte potrebbe essere necessario eliminare l'indice in MySQL, se non funzionano come previsto. Ecco come eliminare l'indice in MySQL utilizzando la query MySQL DROP INDEX.
Come eliminare l'indice in MySQL
Ecco i passaggi per DROP INDEX in MySQL. Useremo la query MySQL DROP INDEX per rimuovere l'indice esistente da una tabella.
Ecco la sintassi del comando MySQL DROP INDEX
DROP INDEX index_name ON table_name
[algorithm_option | lock_option];
Nella query precedente, sostituisci nome_indice con il nome dell'indice e nome_tabella con il nome della tabella del database.
Bonus Lettura:MySQL DROP FOREIGN KEY
Puoi anche fornire 2 argomenti opzionali:algorithm_option e opzione_blocco.
opzione_algoritmo può avere uno dei 3 valori:default, inplace, copy. A seconda del tuo argomento, MySQL utilizzerà algoritmi diversi per eliminare l'indice.
La sua sintassi è
ALGORITHM [=] {DEFAULT|INPLACE|COPY}
- default – Questo ha lo stesso effetto del non usare algorithm_option argomento
- copia – La tabella in cui è necessario eliminare l'indice, verrà copiata e l'indice verrà eliminato dalla tabella di copia. Durante questo periodo, non sono consentite operazioni simultanee come INSERT e UPDATE.
- inplace – In questo caso, la tabella viene ricostruita sul posto senza index. Sebbene questa opzione consenta operazioni simultanee, blocca i metadati durante l'esecuzione.
A seconda di lock_option MySQL bloccherà/non bloccherà l'accesso in lettura/scrittura alle tabelle durante l'eliminazione dell'indice. lock_option ha la seguente sintassi
LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}
Richiede 4 valori:
- default:consente la massima concorrenza per la scelta dell'algoritmo. consente sia letture che scritture simultanee se supportate. In caso contrario, consente solo letture simultanee. Se anche questo non è supportato, impone l'accesso esclusivo.
- none:se supportato, puoi avere letture e scritture simultanee. In caso contrario, MySQL restituisce un errore.
- condiviso:se l'opzione condivisa è supportata, puoi avere letture simultanee, ma non scritture simultanee.
- esclusivo:questa opzione impone l'accesso esclusivo
Bonus Lettura:MySQL DROP DATABASE
Esempio MySQL DROP INDEX
Supponiamo che tu abbia la seguente tabella con index.
mysql> create table orders(order_id int primary key, order_date date, product varchar(255), sale int, index name(product) );
Ecco la query SQL per eliminare l'indice nome esistente dalla tabella ordini .
mysql> DROP INDEX name ON orders;
Bonus Leggi:MySQL DROP COLUMN
Indice MySQL DROP PRIMARY KEY
Ecco la sintassi per eliminare l'indice della chiave primaria negli ordini delle tabelle.
mysql> DROP INDEX `PRIMARY` ON orders;
Ubiq semplifica la visualizzazione dei dati in pochi minuti e il monitoraggio in dashboard in tempo reale. Provalo oggi!