|
Cerca |
Occorre aggiornare costantemente un database perché questo sia ogni giorno più efficiente. Con efficienza si intende la velocità con la quale i dati vengono inviati dal database agli script che li richiedono. Perché questo sia possibile, occorre un database ben strutturato ed ottimizzato. In questa guida, mostreremo come ottimizzare al massimo il vostro database. Indicizzare il Database Il primo accorgimento per migliorare la velocità delle ricerche in caso di richiesta, è quello di inserire un indice sui campi utilizzati dalla parola chiave WHERE. Esempio Avete effettuato una ricerca di persone rispetto alla città. Occorre quindi indicizzare il campo città usando la seguente richiesta: ALTER TABLE `test` ADD INDEX ( `città` ); Ripulire il Database Alcuni dei vostri dati non necessitano più di consultazione. Perché non archiviarli? Le vostre tabelle saranno più leggere e le ricerche saranno più veloci. Limiti di visualizzazione Limitare la visualizzazione delle registrazioni ad una quantità predefinita e contenuta (in genere 10 per pagina) usando la parola chiave LIMIT nella richiesta. Raggruppamento delle richieste Raggruppate le vostre richieste nella parte iniziale degli script, come nell'esempio: inizio dello script connessione_database richiesta1 richiesta2 ... disconnessione_database Visualizzazione... Elaborazione dati... Ciclo... Visualizzazione... ... Nascondere Se il vostro database contiene dati che non vengono utilizzati di frequente, potete nasconderli. Per esempio, generare pagine html solo quando modificate le informazioni, riduce drasticamente gli accessi al database. Se il file html (mascherato) esiste, lo utilizzerete (usando INCLUDE), altrimenti andrete a generarlo. Nel momento in cui invierete la nuova pagina di news, potrete includere uno script che cancella il file html: verrà così ricreato la volta successiva in cui un visitatore lo richiede. Potete anche mascherare una sessione. Inserite i risultati della richiesta in una variabile di sessione e, quando non serve più la stessa richiesta, eliminate la variabile di sessione e la recuperate. Utilizzate soltanto il necessario Controllate che nelle vostre richieste SQL sia selezionato solo ciò di cui avete davvero bisogno, e soprattutto che non avete dimenticato le connessioni tra le tabelle (where table1.field = table2.field2) perché in caso contrario si impiega molto tempo per ottenere dei risultati (anche se dopo il WHERE inserite richieste corrette). Evitate le opzioni troppo golose Evitate di utilizzare HAVING così come GROUP BY, creano solo problemi di gestione. |