MySQLはサブクエリに弱いかも。

おはようございます。

早坂@magicalでございます。

今サーフィン(ネット)していたんですが、どうやらMySQLはサブクエリに弱いみたいです。

ここでは実際に動作を確認することは出来なかったのですが、MySQL4.1から実装されたサブクエリですが、実は脆弱点があるみたいです。

それがサブクエリだそうです。

query :

(1) .SELECT name FROM character where id = 1234567 ;

(2) .SELECT name FROM character where id = (SELECT id FROM character where id = 1234567) ;

(1) .SELECT name FROM character where id IN ( SELECT id FROM character where id = 1234567 ) ;

と上記3つのクエリがあったとして、EXPLAINで投げてみると、(1)と(2)は個別走査なんですが、(3)だけが全走査になるらしいです。

PostgreSQLみたいにまだまだ使える範囲は狭いかも知れないですね・・・。

MySQLって意外と厄介かも知れませんね。

それでは仕事に戻りますです。