Capitolo 13. Indici e vincoli
Questo lavoro è stato tradotto utilizzando l'AI. Siamo lieti di ricevere il tuo feedback e i tuoi commenti: translation-feedback@oreilly.com
Poiché questo libro è incentrato sulle tecniche di programmazione, i primi 12 capitoli si sono concentrati sugli elementi del linguaggio SQL che puoi utilizzare per creare potenti istruzioni select, insert, update e delete. Tuttavia, altre caratteristiche del database influenzano indirettamente il codice che scrivi. Questo capitolo si concentra su due di queste caratteristiche: gli indici e i vincoli.
Indici
Quando inserisci una riga in una tabella, il server del database non cerca di collocare i dati in una posizione particolare all'interno della tabella. Ad esempio, se aggiungi una riga alla tabella customer, il server non inserisce la riga in ordine numerico tramite la colonna customer_id o in ordine alfabetico tramite la colonna last_name. Al contrario, il server colloca semplicemente i dati nella prossima posizione disponibile all'interno del file (il server mantiene un elenco di spazio libero per ogni tabella). Quando interroghi la tabella customer, quindi, il server dovrà ispezionare ogni riga della tabella per rispondere alla query. Ad esempio, supponiamo che tu invii la seguente query:
mysql> SELECT first_name, last_name -> FROM customer -> WHERE last_name LIKE 'Y%'; +------------+-----------+ | first_name | last_name | +------------+-----------+ | LUIS | YANEZ | | MARVIN | YEE ...