Mysql-connect sehr langsam?
Für Windows gibt es fixfertige Pakete für die Kombination Apache + Php + Mysql + X, wie z.B. XAMPP oder Wamp.
Für ein kleines Projekt habe ich auf eine solche zurückgegriffen und irgendwie war es langsam. Was genau langsam war, war nach einigem Debugging lokalisiert:
(...) $iStart=microtime(true); mysql_connect($hostname . ":" . $hostport, $username, $password); echo microtime(true) - $iStart."s to open DB $database<br>"; (...)
Das mysql_connect() brauchte regelmässig 1 Sekunde - die anschliessenden Queries 0.00x Sekunden.
Ursache ist der Zugriff mit dem Hostnamen “localhost” auf die Loopback-Adresse. Wenn man den Mysql-Service auf eine IP-Adresse bindet, geht es massiv schneller. Konfiguriert wird dies in der my.ini im Installationsverzeichnis von Mysql. Oder man verbindet sich auf die IP-Adresse 127.0.0.1.
Ach, und unter Windows den Eintrag lower_case_table_names=2 nicht vergessen - daher schiebe ich es mal hinterher:
(...) bind-address="127.0.0.1" bind-address = ::1 # fuer ipv6 lower_case_table_names=2 (...)
Nach Änderung der Konfiguration muss man den Mysql-Dienst neu starten, damit es wirksam wird.
Weiterführende Links: