Database MySQL – Cancellazione indici

mysql-logo

In questa parte del corso MySQL vedremo come si cancellano gli indici.

Database MySQL – Cancellazione indici

Può arrivare un momento, in un database MySQL, in cui un indice può non essere più necessario. Potrebbe essere perché l’indice è stato creato per errore, oppure potrebbe essere che sono mutate le esigenze di ricerca su quella tabella e quindi un indice su quelle colonne non è più necessario. Visto che un indice occupa memoria e che, anche se velocizza le ricerche, rallenta leggermente le operazioni di inserimento, se non è più necessario va cancellato. La sintassi per cancellare un indice è come al solito molto semplice e utilizza il comando DROP INDEX:

Per vedere un esempio concreto, volendo cancellare l’indice “indice_eta” dalla tabella dati_dipendente daremo il seguente comando:

Database MySQL – Cancellazione primary key

Se invece volessimo provare a cancellare l’indice PRIMARY (primary key) dalla tabella dati_personali potremmo provare a dare il comando:

Il risultato sarà il seguente:

Ops, MySQL ci ha dato un messaggio di errore. Cosa è successo? E’ successo che PRIMARY è una parola riservata in MySQL e non la possiamo usare in quel contesto. Ma noi abbiamo anche un indice che si chiama PRIMARY e lo vogliamo cancellare, come facciamo? La risposta è semplice, scriviamo la parola tra apici inversi:

Nota: Quando vogliamo cancellare un indice PRIMARY, per indicare a MySQL che si tratta del nome dell’indice dobbiamo scriverlo tra apici inversi.

Adesso l’indice è stato cancellato, infatti se diamo il comando SHOW INDEX sulla tabella dati_personali otteniamo:

Esercizi

Per poter eseguire gli esercizi di questa sessione occorre aver prima eseguito gli esercizi relativi alla creazione degli indici della passata lezione.

  1. Cancellare l’indice sulla data di nascita della tabella dati_personali.
  2. Cancellare l’indice sugli anni di lavoro e lo stipendio della tabella dati_dipendente.

Risposte

Tags:

About the Author

Post a Reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Top