MySQL 5.7とそれ以前では、テーブルの結合を実施する際に、INNER JOINの場合はSTRAIGHT_JOINを利用し結合することで、テーブルのなかで先に読み取りを行うテーブルを決めることができました。最新バージョンのMySQL 8.0からは、Join-Order オプティマイザヒント句を用いてJOINする順番を決めることができるようになりました。 今回は、従来のSTRAIGHT_JOINとJoin-Order オプティマイザヒント句の使い方を確認していきたいとおもいます。なお、使用しているMySQLは8.0.15,OSはCentOS7を利用しています。 STRAIGHT_JOIN STRAIGHT_JOINは、JOINを行う際に対象のテーブルの駆動表を固定したいときに使われる構文です。STRAIGHT_JOINを用いてJOINを行うと、先に出てきたテーブルを駆動表として扱い、IN