Mysql
 sql >> Base de données >  >> RDS >> Mysql

Optimisation de la requête MySQL pour la recherche de plages d'entiers

Si les plages d'adresses IP ne se chevauchent pas, de sorte que la requête ne renverra jamais plus d'une ligne, vous pouvez utiliser ceci :

SELECT q.*
FROM 
  ( SELECT csv.* 
    FROM csv
    WHERE csv.begin < 3338456592 
    ORDER BY csv.begin DESC
    LIMIT 1
  ) AS q
WHERE 3338456592 < q.end ;

Aucun index ne doit être ajouté. L'index principal sera utilisé.