「は〜、今日も仕事つかれたなー」と思いながらTwitterを眺めていたらこんなツイートが流れてきました。 空のテーブルを相手にEXPLAINの結果を予測できるか 答えからいうと、「できる」になります。 それも、まーまー大きく外さない精度で予測できるかな、というのが自分の感覚です。 ですが、この感覚が理解できないという人もいるかと思うので、どのような思考順で予測をしているのかを解説してみたいと思います。 サンプルのデータ構造とSQL ひとまずめちゃくちゃ単純なデータ構造で考えてみます。 このようなテーブルに対し、以下のSQLを投げるとします。 SELECT e.id, e.name, e.department_id, d.name FROM employee e INNER JOIN department d ON e.department_id = d.id WHERE d.id = 10