このデータベースクエリを簡素化する変更がありますか?IN句などで複数の要求を実行する必要がありますか?複数行にわたるWHERE句のデータベースクエリの簡素化
SELECT `id`
FROM `tablename`
WHERE `columnname1` = "longer-value" OR
`columnname2` = "longer-value" OR
`columnname3` = "longer-value" OR
`columnname4` = "longer-value" OR
`columnname5` = "longer-value" OR
`columnname6` = "longer-value" OR
`columnname7` = "longer-value" OR
`columnname8` = "longer-value" OR
`columnname9` = "longer-value" OR
`columnname10` = "longer-value"
このクエリでは、10個の異なる列の値がチェックされます。
あなたのデータベースを正規化するのを忘れ...この前行っています。 –
'(リクエストごとに何度も実行する必要があります)'これは赤い旗です。あなたはクエリの数を減らすことができますか?おそらく 'JOIN'ですか? –
これを2つの正規化されたテーブルに分割できない理由はありますか?私は前のような状況にあった前に完全なテーブルスキャンは、正規化されたルックアップよりもはるかに高速だった...しかし、それはまれです。 – gahooa