join
where
の前に発生します 、しかし...
where
句は、結合によって返されるすべての行のフィルターですが、オプティマイザーは、インデックスがA.id
に存在する場合にそれを認識します。 、A
から行を取得するために使用されます その一致すると、結合が発生し、理論的にはwhere句が結果をフィルタリングしますが、オプティマイザは条件がすでに満たされていることを認識し、フィルターとしてスキップします。
とはいえ、オプティマイザーは常にオプティマイザーなしで返されるのと同じ結果を返します。