2

このクエリを書き直す最良の方法は何ですか:

SELECT myField 
FROM myPrefix.myTable 
WHERE myField2 IN (?) AND 
    GET_LOCK(CONCAT('action:',myField3), 0) = 1 
LIMIT 1

myField2にインデックスがあります。

現在、MySQL はIN最初に操作を評価し (インデックスがあることを認識しているため)、次にGET_LOCK操作をパイプライン処理します。

これが常に当てはまり、MySQL のアップグレードなどで逆に切り替わらないことをどのように確認できますか。

GET_LOCK別名、私の質問は、最初に評価されないようにするにはどうすればよいかということです。これをすべて1つのクエリにまとめたいと思います。

4

1 に答える 1