È importante velocizzare le query SQL per garantire che i siti Web e le applicazioni funzionino velocemente e offrano una buona esperienza per il cliente. Ecco alcuni suggerimenti per velocizzare le query del database e migliorare le prestazioni delle query.
Come velocizzare le query SQL
Ecco alcuni modi chiave per migliorare la velocità e le prestazioni delle query SQL.
1. Usa i nomi delle colonne invece di SELECT *
Mentre usi le istruzioni SELECT, usa solo le colonne che ti servono nel risultato, invece di usare SELECT * from … Ciò ridurrà considerevolmente la dimensione del risultato e accelererà la tua query SQL.
Bonus Leggi:Come aumentare le connessioni massime in MySQL
2. Evita query e visualizzazioni nidificate
Quando si annida una query/vista all'interno di un'altra query/vista, si ottengono molti dati restituiti per ogni singola query e rallenta notevolmente la query. A volte, il server del database potrebbe anche andare in timeout e non restituire nulla.
3. Usa il predicato IN durante la query sulle colonne indicizzate
Durante l'esecuzione di query su una colonna indicizzata, utilizzare un predicato IN-list invece di utilizzare operatori matematici come '=' o operatori logici come AND/OR. Il predicato IN può velocizzare le query SQL poiché Query Optimizer ordina l'elenco IN in modo che corrisponda alla sequenza di ordinamento di INDEX, portando a risultati più rapidi.
Bonus Lettura:Come memorizzare i caratteri UTF8 in MySQL
4. Fai il pre-staging
Se hai query e procedure che eseguono join con tabelle di grandi dimensioni, è consigliabile creare una tabella separata con questo risultato. Quando unisci le tabelle in anticipo, le query SQL che utilizzano il loro risultato funzionano molto più velocemente.
5. Usa le tabelle temporanee
Allo stesso modo, se stai unendo una tabella grande a una piccola, crea una tabella temporanea che contenga solo i dati richiesti per l'unione con la tabella più piccola. Puoi farlo selezionando i dati da una tabella grande, trasferendoli a una tabella temporanea e unendo la tabella piccola con questa tabella temporanea.
Bonus Lettura:Vista materializzata PostgreSQL
6. Usa CASE invece di UPDATE
L'istruzione UPDATE richiede più tempo dell'istruzione CASE a causa della registrazione. D'altra parte, l'istruzione CASE determina cosa deve essere aggiornato e rende le tue query SQL più veloci.
7. Evita di usare il GUID
Evita di utilizzare identificatori univoci globali in quanto possono rallentare le tue query. Utilizza invece DATA o IDENTITÀ.
Bonus Leggi:Come cambiare il database in UTF8
8. Evita di usare OR in JOINS
I JOINS richiedono molto tempo poiché il database deve esaminare ogni riga per trovare una corrispondenza. Se utilizzi anche la condizione OR in un JOIN, il tuo database impiegherà il doppio del tempo per abbinare i record. Come accennato in precedenza, usa invece l'operatore IN.
Si spera che i suggerimenti di cui sopra ti aiutino ad accelerare le query SQL.