sql >> Database teknologi >  >> RDS >> Mysql

Sådan bruger du index efficienty i mysql-forespørgsel

du kan prøve en Top-N-forespørgsel for at finde den første kandidat og derefter kun anvende denne kandidat til det faktiske mønster:

select 1 
  from (select c1 
          from junk 
         where c1 <= 'fxg87698x84'
         order by c1 desc limit 1) tmp 
 where 'fxg87698x84' like concat(c1, '%');

top-n-forespørgslen skal bruge et almindeligt indeks på c1.

REDIGER :Forklarede det mere detaljeret i min blog:http://blog.fatalmind.com/2010/09/29/finding-the-best-match-with-a-top-n-query/



  1. MySQL-fejl 1264:værdi uden for rækkevidde for kolonne

  2. betingelse i kriterier i yii ramme php

  3. Android SQLite Indsæt eller Opdater

  4. Android sqlite db.query fører til CursorIndexOutOfBoundsException