sql >> Databasteknik >  >> RDS >> Mysql

Vad är det optimala MYSQL-frågenumret i php-skript?

Jag gillar att hålla min under 8.

Men allvarligt, det är ganska meningslöst. Om det hypotetiskt sett fanns en anledning för dig att ha 800 frågor på en sida, så kan du gå vidare och göra det. Du kommer förmodligen att upptäcka att antalet frågor per sida helt enkelt kommer att bero på vad du gör, men under normala omständigheter skulle jag bli förvånad över att se över 50 (även om det nu för tiden kan vara svårt att inse hur många du gör om du abstraherar bort dina DB-samtal).

Långsamma frågor är viktigare

Jag brukade vara frustrerad över en viss PHP-baserad forummjukvara som hade 35 frågor på en sida och körde väldigt långsamt, men det var länge sedan och jag vet nu att anledningen till att den specifika installationen gick långsamt inte hade något att göra med att ha 35 frågor på en sida. Till exempel tog bara en eller två av dessa frågor den mesta tiden. Den hade bara ett par riktigt långsamma frågor, som fixades av välplacerade index.

Jag tror att identifiering och åtgärdande av långsamma frågor bör komma före identifiering och eliminering av onödiga frågor, eftersom det potentiellt kan göra mycket större skillnad.
Tänk även på att tre snabba frågor kan vara betydligt snabbare än en långsam fråga - antalet frågor gör det. inte nödvändigtvis relatera till hastighet.

Jag har en sida (som faktiskt är ett slags testfall/diagnostikverktyg som är utformat för att endast köras av en administratör) som har över 800 frågor men den körs på några sekunder. Jag antar att de alla är väldigt enkla frågor.

Försök att cachelagra

Det finns olika sätt att cache delar av din applikation som verkligen kan minska antalet frågor du gör, utan att minska funktionaliteten. Bibliotek som memcached gör detta trivialt enkelt nuförtiden och spring ändå riktigt fort. Detta kan också bidra till att förbättra prestandan mycket mer än att minska antalet frågor.

Om frågor verkligen är onödiga och prestandan verkligen gör skillnad, ta bort/kombinera dem

Överväg bara att leta efter långsamma frågor och optimera dem, eller cachelagra deras resultat, först.



  1. Lär dig grundläggande SQL-frågor med MySQL

  2. Importerar zippad CSV-fil till PostgreSQL

  3. Nyckelvärdespar i PostgreSQL

  4. Hur man visar sorteringen av en tabell i MySQL