Windows8上の「XAMPP」で開発をしています。
どうも、MySQLへのクエリーが遅い!(1秒以上かかる)
EXPLAINで調査しても、0.001秒程度なのだが。
8個のDBに立て続けにクエリーを投げる処理があり、終わるのに8秒もかかるのだ…
MySQLへは「localhost」で接続している。
調べていくとDNS逆引きに由来するものらしい。
C:\Windows\System32\Drivers\etc\hosts を下記のように設定する、というのはよく知られた?
対処方法なのですが…
# localhost name resolution is handled within DNS itself.
127.0.0.1 localhost
# ::1 localhost
これが、なぜか効かない。
コマンドプロンプトで「ping localhost」とすると、IPv6接続が優先されていることが分かった。
下記のサイトに情報がありました。
http://blogs.technet.com/b/jpntsblog/archive/2010/06/17/ipv6-3.aspx
「IPv6 の Loopback インタフェースについては無効化することができません」
なのだそうだ…
レジストリ変更したりするのも気が引けたので、MySQLへの接続は、localhostではなく、127.0.0.1を指定することにしました。(残念)