MySQL Explain の見方

私が開発をしているシステムじゃないんんだけど、DBMSMySQLを使いPHPを使って開発をしているんですが、データが数万件超えたあたりから、遅くなったと言われた。
数万件ごときで、そんなに遅いわけがあるか!と思った
実行してみると、確かに
遅い、
数分かかってます。orz・・・・

たしかに、JOINいっぱい書いてますねぇ、こりゃ遅そうです。
さらに。フィールドを文字列処理して、切り出してから、JOINしてますし、全件処理してからやってるんだろうなぁ、そりゃ遅いわなぁ・・・

調べてみると、 MySQLは SELECT文の前にEXPLAIN っていう句を書くと、実行計画を表示してくれる。
ただ、その表示、他のDBMSに比べてわかりにくい。っで、その見方は下記が参考になると思う。

漢(オトコ)のコンピュータ道: MySQLのEXPLAINを徹底解説!! 漢(オトコ)のコンピュータ道: MySQLのEXPLAINを徹底解説!! 漢(オトコ)のコンピュータ道: MySQLのEXPLAINを徹底解説!!

MySQLって癖があるんだねぇ、知らんかった。まだまだ、勉強しないといけないなぁ・・・。

チューニングは下記を参照すると良いかもしれない
MySQLノウハウ MySQLノウハウ MySQLノウハウ