Yo les gens !
Ça fait quelques jours que je bosse sur un truc, et je me suis heurté à un comportement assez étrange de PDO... En gros, j'avais une requête AJAX qui mettait plus d'une seconde à s’exécuter alors que ça ne devrait pas. A coup de "microtime", j'avais calculé que le traitement durait un centième de seconde (genre 0.002s).
J'ai d'abord pensé que c'était mon Framework perso qui était à la traine (le fwk charge des templates et pleins de trucs inutiles dans le cas d'une requête AJAX), j'ai tenté un fix, j'atteignais les mêmes résultats.
J'ai ensuite isolé ma requête dans un fichier séparé avec uniquement ce que j'avais besoin : Même résultat.
A coup de microtime encore une fois, j'ai vu que c'était cette ligne qui posait souci :
$db=new PDO("mysql:host=".DB_HOST.";dbname=".BASE.";port="
.PORT,DB_USER,DB_PASS);
En remplaçant les constantes par leurs valeurs en durs, j'ai vu que c'était DB_HOST qui foutait le dawa (valeur : "localhost". Et en mettant "127.0.0.1", ça passe, la requête met bien 0.002s à s’exécuter.
En revanche, j'ai peur de mal comprendre : Ça serait la résolution DNS qui ferait perdre tout ce temps ?
PS : Mon problème est résolu du coup, mais je suis quelqu'un de curieux qui n'aime pas ne pas comprendre un truc, et ça, je trouve ça très zarb'. J'utilise PDO depuis longtemps, mais j'avais jamais fait gaffe aux performances ^^