Gli indici sono molto utili. Senza di loro, MySQL deve scansionare l'intera tabella per trovare le righe e le colonne pertinenti, che possono essere molto inefficienti nei database di grandi dimensioni.
Questo tutorial si concentrerà su come visualizzare le informazioni sull'indice utilizzando la clausola degli indici dello spettacolo in MySQL.
Mostra indici della tabella
Per mostrare le informazioni sull'indice su una tabella, utilizziamo la clausola degli indici dello spettacolo seguito dal nome della tabella che desideriamo ottenere le informazioni sull'indice.
La sintassi generale è mostrata come:
Mostra indici TBL_name;
Ad esempio, considera una delle tabelle nel database di esempio Sakila. Possiamo ottenere le informazioni sull'indice come mostrato nella query seguente:
Usa Sakila;
Mostra indici dal film;
La query sopra visualizzerà le informazioni sull'indice dalla tabella del film nel database Sakila. L'output è:
Comprensione delle informazioni sull'indice
Il comando Show Indexes visualizza le informazioni pertinenti sugli indici nella tabella specificata.
Ecco i seguenti termini e le rispettive informazioni fornite:
SUGGERIMENTO: Le informazioni sugli indici della query degli indici dello spettacolo sono simili a quelle di SQLSTATISTICE.
Mostra gli indici dello schema
Puoi anche ottenere informazioni sull'indice su uno schema. La sintassi generale per il raggiungimento di questo risultato è di seguito:
Seleziona Table_name, index_name da Information_Schema.Statistiche dove table_schema = “Schema_name”;
Considera la query di seguito che mostra informazioni sullo schema Sakila:
Seleziona Table_name, index_name da Information_Schema.statistiche dove table_schema = "sakila";
Ciò visualizzerà informazioni sugli indici nello schema Sakila come mostrato nell'output di seguito:
+---------------+-----------------------------+
| Table_name | Index_name |
+---------------+-----------------------------+
| Attore | Primario |
| Attore | idx_actor_last_name |
| Indirizzo | Primario |
| Indirizzo | idx_fk_city_id |
| Indirizzo | idx_location |
| categoria | Primario |
| città | Primario |
| città | idx_fk_country_id |
| Paese | Primario |
| Cliente | Primario |
| Cliente | idx_fk_store_id |
| Cliente | idx_fk_address_id |
| Cliente | idx_last_name |
| Film | Primario |
| Film | idx_title |
| Film | idx_fk_language_id |
| Film | idx_fk_original_language_id |
| Film_actor | Primario |
| Film_actor | Primario |
| Film_actor | idx_fk_film_id |
| Film_Category | Primario |
| Film_Category | Primario |
| Film_Category | fk_film_category_category |
| Film_text | Primario |
| Film_text | idx_title_description |
| Film_text | idx_title_description |
| Inventario | Primario |
| Inventario | idx_fk_film_id |
| Inventario | idx_store_id_film_id |
| Inventario | idx_store_id_film_id |
| --------------------------------- Output troncato--------------------------
Puoi anche ottenere informazioni da tutti gli schemi nel server utilizzando la query mostrata di seguito:
Seleziona Table_name, index_name da Information_Schema.statistiche;
NOTA: La query di cui sopra scarica molte informazioni. Raramente dovrai ottenere indici da tutti gli schemi. Tuttavia, un output del campione è sotto:
+--------------------+------------+
| Table_name | Index_name |
+--------------------+------------+
| innodb_table_stats | Primario |
| innodb_table_stats | Primario |
| INNODB_INDEX_STATS | Primario |
| INNODB_INDEX_STATS | Primario |
| INNODB_INDEX_STATS | Primario |
+--------------------+------------+
Conclusione
In questo tutorial, abbiamo discusso di come utilizzare la query degli indici di MySQL Show per ottenere informazioni sugli indici in una tabella. Abbiamo anche esaminato l'utilizzo di Information_Schema per ottenere informazioni sugli indici da uno o tutti gli schemi in un server MySQL.