MySQL Explain の見方
私が開発をしているシステムじゃないんんだけど、DBMSにMySQLを使いPHPを使って開発をしているんですが、データが数万件超えたあたりから、遅くなったと言われた。
数万件ごときで、そんなに遅いわけがあるか!と思った
実行してみると、確かに
遅い、
数分かかってます。orz・・・・
たしかに、JOINいっぱい書いてますねぇ、こりゃ遅そうです。
さらに。フィールドを文字列処理して、切り出してから、JOINしてますし、全件処理してからやってるんだろうなぁ、そりゃ遅いわなぁ・・・
調べてみると、 MySQLは SELECT文の前にEXPLAIN っていう句を書くと、実行計画を表示してくれる。
ただ、その表示、他のDBMSに比べてわかりにくい。っで、その見方は下記が参考になると思う。
漢(オトコ)のコンピュータ道: MySQLのEXPLAINを徹底解説!!
MySQLって癖があるんだねぇ、知らんかった。まだまだ、勉強しないといけないなぁ・・・。
チューニングは下記を参照すると良いかもしれない
MySQLノウハウ