du kan prova en Top-N-fråga för att hitta den första kandidaten och sedan tillämpa den kandidaten endast på det faktiska mönstret:
select 1
from (select c1
from junk
where c1 <= 'fxg87698x84'
order by c1 desc limit 1) tmp
where 'fxg87698x84' like concat(c1, '%');
top-n-frågan bör använda ett vanligt index på c1.
REDIGERA :Förklarade det mer i detalj i min blogg:http://blog.fatalmind.com/2010/09/29/finding-the-best-match-with-a-top-n-query/