0
WHERE節にCASE WHEN条件付きの関数があります。 - 関数がWHERE句のインデックス付き列での "CASE WHEN"
、BとCをparamsは - テーブル「mytableはのインデックスを付けた列
SELECT *
FROM mytable t
WHERE (
CASE aPARAM WHEN 'a' THEN t.a = aID
WHEN 'b' THEN t.b = aID
WHEN 'c' THEN t.c = aID
ELSE TRUE END
)
aPARAMと援助:単純に(非常に簡単)、それはこのようになります"
しかし、この場合、MySQLはインデックスをまったく使用しません。
はい、このクエリには別の条件を選択するための条件が含まれていますが、結果の値に依存せず、クエリの実行前に計算(定義)できます。
インデックスを使用するためにこの関数に示唆できるものは何ですか?
完璧!私はこの変種を使用しましたが、最後の状態を逃しました。ありがとう。 – Vitaly