Mysql
 sql >> Database >  >> RDS >> Mysql

Qual è il numero di query MySQL ottimale nello script php?

Mi piace tenere il mio sotto gli 8.

Seriamente, però, è abbastanza privo di significato. Se ipoteticamente c'era un motivo per cui hai 800 query in una pagina, allora potresti andare avanti e farlo. Probabilmente scoprirai che il numero di query per pagina dipenderà semplicemente da ciò che stai facendo, anche se in circostanze normali sarei sorpreso di vederne oltre 50 (anche se al giorno d'oggi può essere difficile capire quante stai facendo se stai astraendo le tue chiamate DB).

Le query lente contano di più

Ero frustrato da un certo software per forum basato su PHP che aveva 35 query in una pagina e funzionava molto lentamente, ma è stato molto tempo fa e ora so che il motivo per cui l'installazione particolare funzionava lentamente non aveva nulla a che fare con l'avere 35 query in una pagina. Ad esempio, solo una o due di queste query richiedevano la maggior parte del tempo. Aveva solo un paio di query molto lente, che sono state risolte da indici ben posizionati.

Penso che l'identificazione e la correzione delle query lente debba avvenire prima di identificare ed eliminare le query non necessarie, poiché può potenzialmente fare molta più differenza.
Considera anche che tre query veloci potrebbero essere significativamente più veloci di una query lenta:il numero di query fa non necessariamente si riferiscono alla velocità.

Ho una pagina (che in realtà è una specie di test case/strumento diagnostico progettato per essere eseguito solo da un amministratore) che ha oltre 800 query ma viene eseguita in pochi secondi. Immagino che siano tutte query molto semplici.

Prova a memorizzare nella cache

Esistono vari modi per memorizzare nella cache parti della tua applicazione che possono davvero ridurre il numero di query che fai, senza ridurre la funzionalità. Biblioteche come memcached rendi tutto questo banalmente facile in questi giorni e tuttavia corri molto veloce. Questo può anche aiutare a migliorare le prestazioni molto di più che a ridurre il numero di query.

Se le query non sono davvero necessarie e le prestazioni fanno davvero la differenza, rimuovile/combinale

Prendi in considerazione prima la ricerca di query lente e l'ottimizzazione o la memorizzazione nella cache dei risultati.