- Home
- Categorie
- Coding e Sistemistica
- PHP
- Come ottimizzare il mio sito PHP? Troppe query...
-
Come ottimizzare il mio sito PHP? Troppe query...
Ciao ragazzi oggi chiedo un piccolo aiuto perché ho sempre programmato in maniera "impulsiva" ed ho poco pensato a studiare metodi avanzati di caching etc...
Il mio sito è un vero e proprio CRM, ovvero un sistema dove degli "clienti" aprono dei ticket che poi i vari operatori gestiscono...
La pagina più pesante è quella principale, la visualizza_ticket.php che mostra agli operatori tutti i ticket aperti, in lavorazione, da assegnare etc... Anche se ne sono un centinaio sono "pesanti" perchè:
- La tabella ticket ha per ogni campo degli id esterni... per spiegarmi meglio vi mostro la tabella ridotta:
id - id_ticket - id_padre - id_chi_ha_aperto - id_operatore - id_categoria etc...
Quindi immaginate che per mostrare la pagina del riepilogo dei ticket ci sta innanzitutto la query per pescare quei 100 ticket (sto dicendo 100, ma è tutto molto dinamico, i ticket si aprono e si chiudono molto dinamicamente)... Poi per ogni result si deve fare 1 query per ogni campo per andare a prendere i rispettivi valori nelle altre tabelle...
Io è proprio questa cosa che vorrei "ottimizzare" perchè rallenta di un bel pò il caricamento della pagina...
Come strutturereste voi la cosa? Grazie mille per i consigli...
- La tabella ticket ha per ogni campo degli id esterni... per spiegarmi meglio vi mostro la tabella ridotta:
-
Ciao iGianni84,
perchè non fai dei join invece di una fare query per ogni ticket?
-
Cavolo, ecco che mi si apre un mondo La Join fino a quante tabelle garantisce buone prestazioni? Posso fare un unica query con una JOIN che unisce 4/5 tabelle?
-
Sono sicuramente più veloci del metodo che utilizzavi prima, per la velocità dipende se utilizzi gli indici correttamente e dal numero di record presenti nella tabella.
-
Dopo dipende anche come costruisci i vari JOIN, l'ordine dei JOIN favorisce anche la velocitò dell'esecuzione delle query.