Diciamo che ci vogliono un 15-20 anni per un certo livello di consapevolezza (tipo Matrix).Originariamente inviato da mirko000
Poi diciamo che non ho capito niente di quello che hai detto..
Vabbè cominciamo dalle superbasi: immagini semplicemente l'indice di un libro.
Se vuoi sapere a che pagina si trova il capitolo "pippo" ti basta leggere una quantità di dati molto minore (l'indice appunto) rispetto alla tabella (le pagine vere e proprie).
Questo risponde alla tua domanda, a un livello dilettantistico.
A un livello meno (ma sempre nella fascia home) immagina cosa succede se crei una riga-indice PER OGNI riga-tabella.
In questo caso avresti un indice talmente grande che leggerlo non ti darebbe vantaggi sensibili rispetto a leggere la tabella intera (il c.d. full scan).
Questa è la "selettività", che è un elemento fondamentale (sempre in fascia home) per l'utilizzo degli indici, e la scelta di quando e come e se usarli.
Supponiamo di avere un elenco di anagrafiche (nome, cognome, genere), TUTTI maschi, e supponiamo di creare un indice sull'attributo genere.
Una interrogazione del tipo "cerca tutti i maschi", eseguita sull'indice, è più lenta dell'esame di tutte le righe, senza avere l'indice del tutto, perchè c'è da smazzarsi tutto l'overhead di gestione dell'indice, ma ritornando poi tutte le righe.
Questo esempio banale spero ti chiarisca, sia pure a livello introduttivo, che la questione è complessa assai.
A livello professionale è talmente complessa che, normalmente, dopo un'analisi teorica ci si occupa di una... sperimentazione, ovvero profilando (orribile traduzione di "profiling") e misurando le prestazioni del sistema.
Poi c'è tutto il discorso relativo al tipo di indice, dipendente dal tipo di ricerca.
"dammi tutti i maschi" è una interrogazione
"dammi tutti i maschi che si chiamano alberto" è un'altra
"dammi tutti i maschi nati dopo il 1972" un'altra ancora
"dammi tutti quelli che hanno codice fiscale ccccccccccc" è ancora diversa
"fai il join tra la tabella X e la Y"
sono tutti casi diversi che richiedono approcci diversi (nel caso si voglia operare qualcosa di serio e non homesco)