Why is MAX() 100 times slower than ORDER BY … LIMIT 1?
I have a table foo with (among 20 others) columns bar , baz and quux with indexes on baz and quux . The table has ~500k rows. Why do the following to queries differ so much in speed? Query A takes 0.3s, while query B takes 28s. Query A select baz from foo where bar = :bar and quux = (select quux from foo where bar = :bar order by quux desc limit 1) Explain id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY foo ref quuxIdx quuxIdx 9 const 2 "Using where" 2 SUBQUERY foo index NULL quuxIdx 9 NULL 1 "Using where" Query B select baz from foo where bar = :bar and quux =