Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Otimizando a consulta do MySQL para pesquisa de intervalo inteiro


Se os intervalos de IP não estiverem sobrepostos, de modo que a consulta nunca retornará mais de 1 linha, você poderá usar isto:
SELECT q.*
FROM 
  ( SELECT csv.* 
    FROM csv
    WHERE csv.begin < 3338456592 
    ORDER BY csv.begin DESC
    LIMIT 1
  ) AS q
WHERE 3338456592 < q.end ;

Nenhum índice precisa ser adicionado. O índice primário será usado.