Sintassi:
La sintassi dell'indice di forza è riportata di seguito.
SELEZIONARE *Qui, l'indice_list conterrà uno o più nomi di colonne di table_name utilizzati per la ricerca.
Prerequisiti:
È necessario creare una tabella di database con i dati in un database MySQL per controllare la funzione dell'indice di forza di MySQL. Apri il terminale e connettiti con il server MySQL eseguendo il comando seguente.
$ sudo mysql -u root
Esegui il comando seguente per creare un database denominato test_db.
Crea database test_db;Esegui il comando seguente per selezionare il database.
Usa test_db;Esegui la seguente query per creare una tabella denominata dipendenti con cinque campi.
Crea "dipendenti" di tabella (Esegui la seguente query Insert per aggiungere sei valori nella tabella dei dipendenti.
Inserisci in "dipendenti" ("id", "nome", "post", "joining_date", "stipendio") valoriEsempio-1: controlla l'indice predefinito
Quando viene creata una tabella, la chiave primaria verrà definita come indice per impostazione predefinita. Esegui il seguente comando per verificare l'elenco dell'indice corrente dei dipendenti.
Mostrare indici dei dipendenti;Produzione:
Verrà visualizzato il seguente output dopo aver eseguito la query sopra. L'output mostra che il Btree L'indice è stato assegnato per il id campo del dipendenti tavolo.
Se non viene assegnato alcun indice per il stipendio campo del dipendenti Tabella Dopo aver creato la tabella, tutti i record della tabella verranno scansionati dall'ottimizzatore di query per la seguente query. IL Spiegare La parola chiave viene utilizzata qui per ottenere le informazioni di esecuzione della query selezionata.
Spiega Seleziona * dai dipendentiProduzione:
Verrà visualizzato il seguente output dopo aver eseguito la query sopra. L'output mostra che tutte le righe erano necessarie per eseguire i dati di query e filtro dal dipendenti tavolo.
Esempio-2: controlla l'esecuzione della query dopo aver creato l'indice
Devi definire l'indice per il stipendio campo del dipendenti tabella per ottimizzare correttamente la query. Eseguire la seguente query per creare l'indice per il stipendio campo del dipendente tavolo.
Crea indice Index_Salary sui dipendenti (stipendio);Esegui nuovamente il seguente comando per verificare lo stato dell'indice corrente della tabella dei dipendenti.
Mostrare indici dei dipendenti;Produzione:
Verrà visualizzato il seguente output dopo aver eseguito il comando sopra. L'output mostra che ora ci sono due indici BTREE nella tabella dei dipendenti.
Esegui nuovamente la query selezionata precedente per verificare le informazioni di esecuzione della query. L'output dell'istruzione spiega potrebbe non essere accurato per la tabella contenente pochi record o può variare per diverse esecuzioni. È meglio aggiungere record di grandi dimensioni nella tabella per ottenere il risultato approssimativamente corretto.
Spiega Seleziona * dai dipendentiProduzione:
Verrà visualizzato il seguente output dopo aver eseguito la query sopra. L'output mostra che erano necessarie 4 righe per eseguire la query e filtrare i dati dal dipendenti tavolo. Secondo l'output, il tempo di esecuzione della query è 0.04 Secondi a cui accedevano 4 righe per ottenere l'output.
Esempio-3: controllare l'esecuzione della query dopo aver usato l'indice di forza
L'ottimizzatore query utilizzerà l'indice definito o meno che dipende dalle condizioni della query, dal numero di record della query e dal numero di righe corrispondenti della tabella in base alla condizione.
Eseguire la seguente query per forzare l'ottimizzatore di query a utilizzare il indice_salary indice al momento dell'esecuzione delle query. IL Indice di forza L'istruzione viene utilizzata prima della clausola Where della query Seleziona per forzare l'ottimizzatore di query a utilizzare il indice_salary indice.
Spiega Seleziona * dai dipendentiProduzione:
Verrà visualizzato il seguente output dopo aver eseguito la query sopra. L'output mostra che erano necessarie 4 righe per eseguire la query e filtrare i dati dal dipendenti tavolo. Secondo l'output, il tempo di esecuzione della query è 0.00 Secondi a cui accedevano 4 righe per ottenere l'output. Questo output può anche variare per diverse esecuzioni.
Conclusione:
La funzione dell'indice di forza di MySQL è utile quando si cerca il valore particolare in una tabella che contiene un gran numero di record. Il modo di creare un indice per una tabella e costringere l'ottimizzatore query a utilizzare quell'indice con forza al momento dell'esecuzione delle query utilizzando l'istruzione indice di forza è stato mostrato in questo tutorial.