U moet MySQL om drie redenen niet pingen voor een zoekopdracht:
- Het is geen betrouwbare manier om te controleren of de server actief is wanneer u probeert uw zoekopdracht uit te voeren, het kan heel goed uitvallen in de tijd tussen de ping-reactie en de zoekopdracht.
- Uw zoekopdracht kan mislukken, zelfs als de server actief is.
- Naarmate de hoeveelheid verkeer naar uw website toeneemt, voegt u veel extra overhead toe aan de database. Het is niet ongebruikelijk in zakelijke apps die deze methode hebben gebruikt om te zien dat een groot deel van de databasebronnen wordt verspild aan pings.
De beste manier om met databaseverbindingen om te gaan is foutafhandeling (try/catch), nieuwe pogingen en transacties.
Meer hierover op de MySQL-prestatieblog:Controleren op een live databaseverbinding die als schadelijk wordt beschouwd
In die blogpost zie je dat 73% van de belasting van dat exemplaar van MySQL werd veroorzaakt door applicaties die controleerden of de database op was.