0
以下のクエリを参照してください。ロジックが2番目のクエリと同じであっても、1番目のクエリは非常に遅く実行されます。テーブルtable01とtable02にはそれぞれ約15000レコードがあります。それでは、まさにここの問題は何ですか?私はすでにアイディアを使い果たした。WHERE IF条件付きのMySQLの非常に遅いクエリ
-- 1st. Very slow
hardcoded here for easier reference
SELECT a.eventid, d.fileno
FROM table01 a LEFT JOIN table02 d ON a.eventid=d.eventid
WHERE IF('fileno'='fileno',d.fileno = 'FIL123',0=0)
-- original: WHERE IF(search_field='fileno',d.fileno = 'BC12449',0=0)
-- search_field is passsed from stored procedure
-- 2nd. Fast
SELECT a.eventid, d.fileno
FROM table01 a LEFT JOIN table02 d ON a.eventid=d.eventid
WHERE d.fileno = 'FIL123'