私は他の誰かのコードをクリーンアップしています。非常に複雑な SQL クエリを生成する非常に複雑なシステムを調べていると、IN() WHERE 句が多く使用されていることがわかります。
SELECT * FROM table
WHERE field1 IN( 1, 2, 3, 4, 5 )
AND type IN( 1, 2, 3 )
... 等々。field = 1 OR field = 2 OR...
次のように一連を組み立てた方がパフォーマンスが向上しますか?
SELECT * FROM table
WHERE ( field1 = 1 OR field1 = 2 OR field1 = 3 OR field1 = 4 OR field1 = 5 )
AND ( type = 1 OR type = 2 OR type = 3 )
それとも IN() を使用する方が良いですか? のような単一の値でもtype IN(1)
?