SQL クエリの最適化に関する記事では、OR の代わりに Union を使用することを提案しています。
OR の代わりに Union を利用する
少なくとも MySQLの OR 状況でインデックスを使用すると、速度の利点が失われます。したがって、インデックスが適用されていますが、これは役に立ちません。
1 SELECT * FROM TABLE WHERE COLUMN_A = 'value' OR
COLUMN_B = 'value'一方、このようなユニオンを使用すると、インデックスが利用されます。
1- SELECT * FROM TABLE WHERE COLUMN_A = '値'
2- UNION 3- SELECT * FROM
TABLE WHERE COLUMN_B = '値'
この提案はどの程度真実ですか? OR クエリを Union に変更する必要がありますか?