読者です 読者をやめる 読者になる 読者になる

by shigemk2

当面は技術的なことしか書かない

ERROR 1104 (42000): The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay というエラーが出る

MySQL

LEFT JOINを利用して、

mysql > select * from hoge1 left join hoge1 on hoge1.name = hoge2.user_id where name = 1 LIMIT 1;

みたいなのを実行しようとしたら、

ERROR 1104 (42000): The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay

みたいなエラーが出てしまう。どういうことだろう。

こういうことらしい。
MySQLでMAX_JOIN_SIZEによる制約を回避する - ゆるブロ

SQL文がクソ長いから実行できないってさ。

mysql > SET OPTION SQL_BIG_SELECTS=1

以下を実行するとクソ長いSQL文でも実行できるようになる。