INDEX :
  • Immaginiamo che abbiamo una tabella composta dai campi seguenti : id, cognome, nome.
  • Immaginiamo che abbiamo 5 milioni di record e che vogliamo selezionare tutti i record il cui cognome = 'ROSSI'.
  • Senza INDEX bisogna percorrere tutti i record per selezionare tutti i record.
  • Se creiamo un INDEX sui campi cognome, nome il sistema crea una specie di tabella (che non vediamo) ordinata per cognome e nome (in realtà è più complesso ma quello che scrivo rende l'idea). Questo è utile sia per la selezione sia per l'ordinamento dei dati. Con l'INDEX su cognome e nome il sistema non ha più bisogno di leggere tutti i record per ricavare quei uguali a 'ROSSI'


FOREIGN KEY :
  • Immaginiamo che abbiamo una tabella articoli composta dal codice articolo, descrizione e codice fornitore.
  • Se creo un nuovo articolo ho bisogno di settare il codice fornitore. Se creo una FOREIGN KEY su questo campo che si riferisce alla tabella fornitori allora non potro' immettere un codice fornitore che non sia nella tabella fornitori.


ha senso utilizzare le FOREIGN KEYS se utilizzo già i TRIGGER?

  • Un TRIGGER si scatena prima o dopo di un'azione su una tabella (inserimento, aggiornamento, cancellazione). E' possibile fare un controllo di coerenza dei dati con un TRIGGER ma non è il suo scopo iniziale.
  • Guarda questa discussione => http://forum.html.it/forum/showthrea...readid=2950070