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

Hvad er det optimale MYSQL-forespørgselsnummer i php-script?

Jeg kan godt lide at holde min under 8.

Men seriøst, det er ret meningsløst. Hvis der hypotetisk set var en grund til, at du skulle have 800 forespørgsler på en side, så kunne du gå videre og gøre det. Du vil sandsynligvis opdage, at antallet af forespørgsler pr. side simpelthen vil være afhængig af, hvad du laver, selvom jeg under normale omstændigheder ville blive overrasket over at se over 50 (selvom det i disse dage kan være svært at indse, hvor mange du gør, hvis du abstraherer dine DB-opkald væk).

Langsomme forespørgsler betyder mere

Jeg plejede at være frustreret over en bestemt PHP-baseret forumsoftware, som havde 35 forespørgsler på en side og kørte rigtig langsomt, men det var længe siden, og jeg ved nu, at grunden til, at den bestemte installation kørte langsomt, ikke havde noget at gøre med at have 35 forespørgsler på en side. For eksempel tog kun en eller to af disse forespørgsler det meste af tiden. Den havde bare et par meget langsomme forespørgsler, som blev rettet af velplacerede indekser.

Jeg tror, ​​at identifikation og rettelse af langsomme forespørgsler bør komme før identifikation og eliminering af unødvendige forespørgsler, da det potentielt kan gøre meget mere forskel.
Tænk selv på, at tre hurtige forespørgsler kan være betydeligt hurtigere end én langsom forespørgsel - antallet af forespørgsler gør det. ikke nødvendigvis relatere til hastighed.

Jeg har en side (som faktisk er en slags testcase/diagnoseværktøj designet til kun at blive kørt af en administrator), som har over 800 forespørgsler, men den kører i løbet af få sekunder. Jeg gætter på, at de alle er meget simple forespørgsler.

Prøv at cache

Der er forskellige måder at cache dele af din applikation på, hvilket virkelig kan skære ned på antallet af forespørgsler, du laver, uden at reducere funktionaliteten. Biblioteker som memcached gør dette trivielt nemt i disse dage og løb alligevel rigtig hurtigt. Dette kan også hjælpe med at forbedre ydeevnen meget mere end at reducere antallet af forespørgsler.

Hvis forespørgsler virkelig er unødvendige, og ydeevnen virkelig gør en forskel, så fjern/kombiner dem

Bare overvej at lede efter langsomme forespørgsler og optimere dem eller cache deres resultater først.



  1. Afslut hængt forespørgsel (inaktiv i transaktion)

  2. Hvad er et indeks i SQL?

  3. Sådan listes parametre for mysql lagrede procedurer

  4. MySQL GROUP BY to kolonner