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

Skal jeg pinge mysql-serveren før hver forespørgsel?

Du bør ikke pinge MySQL før en forespørgsel af tre grunde:

  1. Det er ikke en pålidelig måde at kontrollere, at serveren vil være oppe, når du forsøger at udføre din forespørgsel, den kan meget vel gå ned i tiden mellem ping-svaret og forespørgslen.
  2. Din forespørgsel kan mislykkes, selvom serveren er oppe.
  3. Efterhånden som mængden af ​​trafik til dit websted skaleres op, vil du tilføje en masse ekstra overhead til databasen. Det er ikke ualmindeligt i virksomhedsapps, der har brugt denne metode til at se en enorm mængde af databasens ressourcer blive spildt på ping.

Den bedste måde at håndtere databaseforbindelser på er fejlhåndtering (try/catch), genforsøg og transaktioner.

Mere om dette på MySQL performance blog:Kontrol af en live databaseforbindelse anses for skadelig

I det blogindlæg kan du se, at 73 % af belastningen på den forekomst af MySQL var forårsaget af applikationer, der tjekkede, om DB var oppe.



  1. MySQL - sum kolonneværdi(er) baseret på række fra samme tabel

  2. Sådan får du SQL Server-statistikoplysninger ved hjælp af systemstatistiske funktioner

  3. Hvorfor SQL Server DATETIME-typen sparer tid i tikker på 1/300 af et sek?

  4. Skal jeg bruge mysql_real_escape_string, hvis jeg binder parametre?